JPQL 및 HQL에서 쿼리 제한
JPQL 또는 HQL에서는 다음을 사용하여 쿼리에서 반환되는 결과 수를 제한할 수 있습니다. setMaxResults 메소드. 그러나 이전 버전의 Hibernate에서는 사용자가 MySQL의 LIMIT 절과 유사한 구문을 사용할 수 있었습니다.
이전 버전의 Hibernate에서 Limit 지원
Hibernate 2에서는 다음 구문을 사용하여 제한 쿼리를 수행할 수 있습니다.
SELECT * FROM a_table ORDER BY a_table_column DESC LIMIT 0, 20;
이 구문을 사용하면 사용자가 오프셋을 지정할 수 있습니다. 및 반환할 최대 결과 수.
Hibernate 3에서 제한 지원 제거
그러나 Hibernate 3이 도입되면서 LIMIT 절은 더 이상 지원되지 않습니다. HQL에서. Hibernate 포럼의 응답에 따르면 이 기능은 HQL의 일부가 될 의도가 전혀 없었습니다.
결과 제한을 위해 setMaxResults() 사용
수를 제한하려면 Hibernate 3의 쿼리에 의해 반환된 결과 중 사용자는 setMaxResults를 사용해야 합니다. 메서드:
Query query = session.createQuery("FROM ATable ORDER BY aTableColumn DESC"); query.setMaxResults(20); List<ATable> resultList = query.list();
이 메서드는 정수 값을 인수로 사용하여 반환할 최대 결과 수를 지정합니다.
결론
In 결론적으로, LIMIT 절은 Hibernate 3 이상 버전의 JPQL 및 HQL에서 지원되지 않습니다. 대신 사용자는 setMaxResults 메소드를 활용하여 쿼리에서 반환되는 결과 수를 제한해야 합니다.
위 내용은 JPQL 및 HQL에서 쿼리 결과를 제한하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!