使用Spring CrudRepository时的"不等于"条件



我应该如何构建我的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 存储库方法,这将很有帮助。

最新更新