Spring Data动态查询

Pab*_*las 11 java spring dynamicquery spring-data

我正在尝试使用spring数据设置动态查询,基本上我有一堆具有一系列特征的数组,我需要根据这些特性组装查询,几乎就像"WHERE特征= A AND特征= 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);
Run Code Online (Sandbox Code Playgroud)

gip*_*ani 9

是.@Query支持可分页..是的,还有另一种方法来实现这一目标.

您可以查看使用条件构建查询,以便在动态条件下添加AND/OR.我实际上使用querydsl来促进我的开发.

在这篇文章中你可以找到一个很好的解释:http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/

尽管开始时看起来可能更复杂,但使用此功能可以使您的代码更加符合日益增加的复杂性