Spring boot JPA存储库查询语言-是否正常工作
我正在从事一个项目,该项目有一个带有查询的JPA存储库。其中一个查询在同一查询中具有Spring boot JPA存储库查询语言-是否正常工作,spring-boot,spring-data-jpa,jpql,Spring Boot,Spring Data Jpa,Jpql,我正在从事一个项目,该项目有一个带有查询的JPA存储库。其中一个查询在同一查询中具有和以及或,但无法正常工作 List<Partner> findDistinctByUserNameNotNullAndPartnerNoInAndUserNameLikeOrFirstNameLikeOrderByPartnerNo( List<Integer> partnerNos, String userName, String firstName); 列出FindD
和
以及或
,但无法正常工作
List<Partner> findDistinctByUserNameNotNullAndPartnerNoInAndUserNameLikeOrFirstNameLikeOrderByPartnerNo(
List<Integer> partnerNos, String userName, String firstName);
列出FindDintintByUsernameNotNullandPartnerNoInAndUsernameLikeOrfirstnameLikeOrderByPartnerNo(
列出合作伙伴编号、字符串用户名、字符串名);
当我通过no Filter
时,它返回大约65行
,当我通过Filter
例如“MAR”时,它返回265行
,这是没有意义的,因为没有过滤器的查询正在获取所有行。我观察到的是,在UserNameLikeOrFirstNameLike
处,或
正在分割查询。他正在列表中寻找一个名为的合作伙伴,其用户名类似于,或者他只是像其他东西一样寻找名字。
我知道问题是什么,但不知道如何解决
简而言之:如何将和
以及或
放在同一个JPA查询中并使其正常工作
谢谢 如果您希望使用命名存储库方法实现它,它将如下所示:
findDistinctByUserNameNotNullAndPartnerNoInAndUserNameLikeOrPartnerNoInAndFirstNameLikeOrderByPartnerNo(List<Integer> partnerNos, String userName, String firstName);
findDintintByUsernameNotNullandPartnerNoInAndUsernameLikeOrpPartnerNerNoAndFirstNameLikeOrderByPartnerNerNo(列出partnerNos、String userName、String firstName);
但始终建议使用简短易读的方法名,您可以使用或