我正在尝试使用 spring 数据设置一个动态查询,基本上我有一个具有一堆特征的数组,我需要根据这些特征组装查询,几乎类似于“WHEREcharacteristic = A ANDcharacteristic = 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);
Yes. @Query
支持可分页..是的,还有另一种方法可以实现这一点。
您可以查看使用条件构建查询,它允许您动态添加 AND / OR where 条件。我实际上使用querydsl来方便我的开发。
在这篇文章中,您可以找到对两者的很好的解释:http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/ http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/
尽管一开始可能看起来更复杂,但使用此功能将使您的代码随着复杂性的增加而更加一致
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)