수색…


소개

수명이 다할 때 서비스 계층을 다루는 시나리오가 있습니다. 너무 많은 절을 사용하여 데이터베이스를 쿼리해야하거나 여러 테이블을 처리해야하는 경우가 있습니다. 이러한 경우에는 다음 중 하나를 사용합니다.

1) 동적 질의 (Hibernate criteria API에 대한 wrapper)

2) 사용자 지정 SQL 쿼리

비고

참고 문헌 :

  1. 사용자 지정 SQL
  2. 동적 쿼리

Liferay에서 동적 쿼리 사용하기

서비스 계층의 엔티티와 관련된 대부분의 시나리오에서 파인더의 도움을 받아 기본 서비스 호출을 수행 할 수 있습니다. 여러 엔티티가 포함 된 간단한 시나리오의 경우 동적 쿼리 API를 사용합니다. 이것은 래퍼 API입니다. 이것은 Hibernate에서 사용되는 Criteria API를위한 것이다. 이것은 API에서 여러 가지 구조를 사용하여 사실상 매우 복잡하지 않은 동적 쿼리를 생성해야하는 경우에 사용될 수있다. 우선, 가장 일반적으로 사용되는 구문 중 일부는 다음과 같습니다. DynamicQueryFactoryUtil - 쿼리 작성에 사용됩니다.

RestrictionsFactoryUtil - 특정 값 또는 범위 내에서 일치하는 결과를 좁히기 위해 특정 값과의 비교를 위해 iefields 제한을 제공하는 데 사용됩니다.

ProjectionFactoryUtil - 전체 엔터티를 제공하는 대신 검색 결과의 일부인 필드를 가져 오기 위해 투영을 제공하는 데 사용됩니다. 특정 필드 만 제공하거나 집계 함수 (예 : min.max, avg)를 동일한 필드에 적용합니다.

PropertyFactoryUtil - 엔티티 클래스의 일부 속성을 비교하는 데 사용되며 주로 쿼리의 다른 필드와 비교합니다.

이 클래스의 구현은 사용 가능한 모든 메소드가있는 dao.orm.jpa 패키지에 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow