我应该如何构建我的 findBy 方法名称,以便我可以实现 where 子句 -
statusCode != 'Denied'
这是一个选择吗?
findByStatusCodeNotIn(List<String> statusCode);
如果我只想传递
String
而不是 List
怎么办?
谢谢你
您是否看过Spring Data JPA
文档中有关此内容的文档?
#findByStatusCodeNot(String statusCode);
这类似于文档中的示例:
#findByLastnameNot
根据Spring Data JPA文档https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference
您可以使用
Not
关键字来实现此目的。例如你的方法会变成
findByStatusCodeNot(String statusCode);
这意味着要实现
statusCode != 'Denied'
,您可以将该方法称为
findByStatusCodeNot('Denied');
@Dovmo 是对的,但还要记住,如果您对
String
数据进行操作,则可能需要考虑大小写,即 findByStatusCodeNot(String statusCode)
只会查找不是 'Denied'
的记录,但不是例如'DeniEd'
。对于不区分大小写的搜索,您可以附加 IgnoreCase
- findByStatusCodeNotIgnoreCase(String statusCode)
一般来说,请点击@Dovmo 提供的链接。
根据 spring JPA 存储库文档,我们可以使用 <> 符号代替 != 所以查询是
statusCode <> 'Denied'
如果您想编写 @Query 而不是内置存储库方法,这将很有帮助。