>Java >java지도 시간 >JPQL 및 HQL에서 쿼리 결과를 제한하는 방법은 무엇입니까?

JPQL 및 HQL에서 쿼리 결과를 제한하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-10 18:17:14360검색

How to Limit Query Results in JPQL and HQL?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.