ホームページ >Java >&#&チュートリアル >JPQL/HQL でクエリ結果を制限するにはどうすればよいですか?

JPQL/HQL でクエリ結果を制限するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-04 20:53:44288ブラウズ

How to Limit Query Results in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。