我应该如何构建我的findBy方法名称,以便我可以实现where子句 -
statusCode != 'Denied'
这是一种选择吗?
findByStatusCodeNotIn(List<String> statusCode);
如果我想只传递字符串而不是列表怎么办?
谢谢
您是否查看过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提供的链接进行操作。
根据春季 JPA 存储库文档,我们可以使用 <> 符号代替 != 所以查询将是statusCode <> 'Denied'
如果您想编写@Query而不是 Inbuild 存储库方法,这将很有帮助。