1
페이지 매김을 위해 레코드별로 그룹 수를 세는 요구 사항이 있습니다. 예를 들어QueryDSL JPA (JPAQuery 또는 JPQLQuery)에서 원시 SQL 가져 오기
이 때문에 JPQL 서브 쿼리 카운트를 선택할 수없는 JPA 의 한계에 QueryDSL 통해 달성 될 수없는 그러나select count(*) from (
select name, count(id) from customer
group by name
);
.
QueryDSL JPAQuery 또는 JPQLQuery에서 원시 SQL을 가져올 수 있습니까? 내 계획은 EntityManager를 통해 select count 원시 SQL 문을 생성하고 실행하는 것입니다.
String subQueryNativeSQL = "..."; // native SQL from QueryDSL
Query q = em.createNativeQuery("select count(*) from (" + subQueryNativeSQL + ")");
long count = (long) q.getSingleResult();
물론 하위 쿼리를 필요로하지 않습니다. 'simple_select_expression :: = single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable' –
Neil, 안녕하세요. 제가 위에 게시 한 SQL 문을 구성하는 데 JPQL을 사용하는 방법을 보여 주시겠습니까? – kenn3th
아마도 ENTITIES와 JPQL로 시도한 것을 게시 할 수 있습니다. JPQL은 클래스/필드에 분명히 의존하므로 아무 것도 게시하지 않습니다. –