Universidad de Magallanes

Investigación


Dirección de Investigación


facebook twitter youtube
02 de agosto del 2019

criteria 예제

QBE에서는 기준 개체와 논리적 표현식이 있는 Criteria 개체를 프로그래밍 방식으로 빌드하는 대신 개체의 인스턴스를 부분적으로 채울 수 있습니다. 이 인스턴스를 템플릿으로 사용하고 최대 절전 모드가 해당 값에 따라 기준을 작성할 수 있습니다. 이렇게 하면 코드가 깨끗하게 유지되고 프로젝트를 보다 쉽게 테스트할 수 있습니다. 위의 두 가지 방법을 함께 사용하여 웹 또는 스윙 응용 프로그램에서 페이징 구성 요소를 구성할 수 있습니다. 다음은 한 번에 10 개의 행을 가져 오기 위해 확장 할 수있는 예입니다 – 우리는 주어진 기준 객체에 하나 이상의 프로젝션을 적용 할 수 있습니다. 여러 프로젝션을 추가하려면 프로젝션 클래스의 projectionList() 메서드에서 프로젝션 목록을 가져옵니다. org.hibernate.criterion.ProjectionList 개체에는 프로젝션 개체를 사용하는 add() 메서드가 있습니다. 프로젝션리스트는 프로젝션 인터페이스를 구현하기 때문에 조건 개체의 setProjection() 메서드에 프로젝션 목록을 전달할 수 있습니다. 인터페이스 org.hibernate.Criteria는 특정 영구 클래스에 대한 쿼리를 나타냅니다.

세션은 조건 인스턴스에 대한 팩터리입니다. CriteriaDelete는 이름에서 알 수 있듯이 조건 API를 사용하여 삭제 작업을 활성화합니다. 필요한 것은 CriteriaDelete의 인스턴스를 만들고 where() 메서드를 사용하여 제한을 적용하는 것입니다. 최대 절전 모드의 개발자는 Java 개체를 사용하여 쿼리에 제한을 추가하기 위한 깨끗한 API를 제공했습니다. HQL을 배우기가 그리 어렵지는 않지만 일부 개발자는 컴파일 타임 구문 검사를 제공하므로 검색 쿼리 API를 선호하지만 열 이름 및 기타 스키마 종속 정보는 런타임까지 확인할 수 없습니다. CriteriaUpdate는 데이터베이스 레코드에 대 한 새 값을 제공 하는 데 사용할 수 있는 set() 메서드: 그 거 대 한 HQL 예제를 줄이기 위해, 그냥 할 수 있습니다 “StringBuilder 쿼리 = 새 StringBuilder (“StockDailyRecord 에서 1 =1″);” 그리고 당신은 비교를 동일한 작업을 수행할 수 있습니다. 기준 예제로 표시됩니다. 다음 짧은 예제에서는 setMaxResults() 메서드로 제한되었다는 점을 제외하면 두 개 이상의 결과를 포함하는 결과 집합이 있음을 보여 줍니다. 테이블의 NAME 열의 데이터만 인쇄하는 간단한 프로젝션 예제를 살펴보겠습니다. CriteriaBuilder를 사용하여 특정 조건에 따라 쿼리 결과를 제한할 수 있습니다. 기준을 사용하여어디() 메서드를 쿼리하고 CriteriaBuilder에서 만든 식을 제공합니다.

기준 API에는 QBE(예제) 기능별 쿼리도 포함됩니다. 이렇게 하면 쿼리의 구성 요소를 단계별로 철자할 필요 없이 검색하려는 속성을 포함하는 예제 개체를 제공할 수 있습니다. 또한 count()를 포함하여 투영 및 집계 메서드도 포함됩니다. 다양한 기능을 자세히 살펴보겠습니다. 쿼리 결과를 정렬하는 것은 HQL 또는 SQL과 마찬가지로 기준과 거의 동일한 방식으로 작동합니다. 기준 API는 객체의 속성 중 하나에 따라 오름차순 또는 내림차순으로 결과 집합을 정렬하는 org.hibernate.criterion.Order 클래스를 제공합니다. DetachedCriteria 클래스를 사용하면 세션 범위 외부에서 쿼리를 만든 다음 임의의 세션을 사용하여 쿼리를 실행할 수 있습니다. 두 번째 createCriteria()는 새끼 고양이 컬렉션의 요소를 참조하는 기준의 새 인스턴스를 반환합니다. 최대 절전 모드 기준 API는 최대 절전 모드 쿼리 언어 (HQL)에 대 한 더 많은 개체 지향 하 고 우아한 대안입니다. 그것은 항상 많은 선택적 검색 기준이 있는 응용 프로그램에 대 한 좋은 솔루션입니다. 제한 클래스의 디스정션() 팩터리 메서드에서 이 개체를 가져올 수 있습니다.

분리는 코드에서 OR 식 트리를 빌드하는 것보다 더 편리합니다. 두 개 이상의 조건으로 AND 식을 나타내려면 조건 개체에 쉽게 추가할 수 있지만 add() 메서드를 사용할 수 있습니다. 코드에서 AND 식 트리를 빌드하는 것보다 연결이 더 편리할 수 있습니다.

inicio atrás arriba

DESTACADOS

  • LINKS


  • Dirección de Investigación

    Investigación • Avenida Bulnes 01890 • Punta Arenas • Chile
    Teléfono: +56 61 2 209 397 • Email: dir.investigacion@umag.cl