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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-10 18:17:14358ブラウズ

How to Limit Query Results in JPQL and HQL?

JPQL および HQL でのクエリの制限

JPQL または HQL では、 setMaxResults メソッド。ただし、Hibernate の古いバージョンでは、ユーザーは MySQL の LIMIT 句に似た構文を使用できました。

Hibernate の古いバージョンでの制限のサポート

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 中国語 Web サイトの他の関連記事を参照してください。

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