ホームページ >Java >&#&チュートリアル >JPQL/HQL でクエリ結果を制限するにはどうすればよいですか?
JPQL/HQL 制限クエリ
Hibernate 3 では、MySQL の LIMIT 句と同様の制限クエリを実行する必要が生じる場合があります。 setMaxResults() メソッドは使用できますが、HQL の代替手段を探します。
履歴機能
LIMIT 句の使用が許可されている Hibernate/HQL の古いバージョンHQL クエリ内。ただし、この機能は正式にはサポートされておらず、後続のバージョンでは削除されました。
現在の解決策
JPQL または HQL での制限クエリの推奨アプローチは、 Query.setMaxResults() メソッド。このメソッドは、クエリによって返される結果の最大数を設定し、取得されるレコードの数を効果的に制限します。
setMaxResults() を使用した次の HQL クエリを考えてみましょう。
Query query = session.createQuery("from ATable order by aTableColumn desc"); query.setMaxResults(20); List results = query.list();
Thisクエリは ATable から最大 20 行を取得し、aTableColumn フィールドで降順に並べます。
In要約すると、JPQL または HQL での LIMIT 句の使用は正式にはサポートされておらず、新しいバージョンでは削除されています。推奨される代替方法は、Query.setMaxResults() メソッドを使用して、クエリによって返される結果の数を制限することです。
以上がJPQL/HQL でクエリ結果を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。