web-dev-qa-db-ja.com

SpringData動的クエリ

Springデータを使用して動的クエリを設定しようとしています。基本的には一連の特性を持つ配列があり、「WHERE特性= AAND特性= B AND」のように、それらの特性に基づいてクエリを組み立てる必要があります。特性= C "ですが、特性の量は異なる場合があります。

@Queryアノテーションを使用できることに気づきましたが、@ Queryの結果をページング可能にすることは可能ですか?

これを達成する他の方法はありますか?

Page<Recipe> findDistinctByNameContainingAndOrganizationAndCharacteristicsInOrIngredientsContainingAndOrganizationAndCharacteristicsInOrDescriptionContainingAndOrganizationAndCharacteristicsInAllIgnoreCase(
        String name, Organization organization1, List<Characteristic> characteristic1,
        String ingredients, Organization organization2, List<Characteristic> characteristic2,
        String description, Organization organization3, List<Characteristic> characteristic3,
        Pageable pageable);
11
Pablo Fallas

はい。 @Queryはページング可能をサポートします..そして、はい、これを達成する別の方法があります。

AND/OR where条件を動的に追加できる、条件を使用したクエリの作成を確認できます。実際には、querydslを使用して開発を容易にしています。

この投稿では、両方の良い説明を見つけることができます: http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/

最初はもっと複雑に見えるかもしれませんが、この機能を使用すると、コードの一貫性が高まり、複雑さが増します。

9
gipinani

Spring Data JPAQuerydslを使用します。 ここで読んでください

0
Pahari Chora