我正在开发一个带有查询的JPA存储库的项目。其中一个查询在同一查询中有And
和Or
,但无法正常运行。
List<Partner> findDistinctByUserNameNotNullAndPartnerNoInAndUserNameLikeOrFirstNameLikeOrderByPartnerNo(
List<Integer> partnerNos, String userName, String firstName);
当我通过no Filter
时,当我通过65 rows
例如&#34; MAR&#34;时,我会通过Filter
返回265 rows
。它返回UserNameLikeOrFirstNameLike
这是没有意义的,因为没有过滤器的查询正在获取所有行。我观察到的是Or
Partner
正在划分查询。他正在使用UserName Like
OR he just looks for a FirstName like something else.
And
我知道问题是什么,但我不知道如何解决它。
简而言之:如何将Or
和GL_TRIANGLES
置于同一JPA查询中并使其正常运行?
谢谢!
答案 0 :(得分:0)
如果您想使用命名存储库方法实现它,它将类似于:
findDistinctByUserNameNotNullAndPartnerNoInAndUserNameLikeOrPartnerNoInAndFirstNameLikeOrderByPartnerNo(List<Integer> partnerNos, String userName, String firstName);
但始终建议使用简短易读的方法名称,您可以使用JPA NamedQueries或@Query