14

如何在查询方法中使用 Spring Data 中的“exists”关键字?

我想要一个这样的方法:

public interface ProfileRepository extends JpaRepository<Profile, Long> {
  boolean existsByAttribute(String attribute);
}

其中AttributeProfile的一个字段。

一种解决方法是使用custom-implementation。但附录将存在定义为关键字。有人可以给我一个如何使用这个关键字的例子吗?

4

1 回答 1

9

记录的关键字旨在与属性参考结合使用。因此,在这种情况下的语义EXISTS是它检查属性是否存在。请注意,文档的一部分是从 Spring Data Commons 中提取的,并且在那里列出的关键字并不意味着 Spring Data JPA 支持它(在您链接的部分的第一段中表示)。ExistsSpring Data JPA 不支持它,因为它仅在 MongoDB 中才有意义,例如,不完全存在的字段与具有逻辑null值的可用字段之间存在差异。

因此,您要查找的内容似乎(Is)Null与当前限制返回对象的关键字有关,并且您必须检查返回的列表中的内容。有一张可以添加对派生查询方法的预测的支持,您可能希望遵循这些方法以获得进一步的进展。

于 2013-01-08T08:28:01.347 回答