当前位置: 首页 > 知识库问答 >
问题:

如何使用Spring Data中的存在关键字来检查实体的存在?

谢唯
2023-03-14

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

我想有一个这样的方法:

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

其中“属性”是配置文件的字段。

解决方法是使用自定义实现。但附录将exists定义为关键字。有人能给我一个如何使用这个关键字的例子吗?

共有1个答案

宗政功
2023-03-14

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

因此,您要查找的似乎是(Is)Null关键字,当前限制是它将返回对象,并且您必须检查返回的列表中的内容。这里有一张票据,可以添加对派生查询方法的投影的支持,您可能需要遵循它来获得进一步的进展。

 类似资料:
  • 问题内容: 比方说,我有一个关联数组,像这样:。 如何检查字典中是否存在? 问题答案: if key in array: # do something 关联数组在Python中称为字典,您可以在stdtypes文档中了解有关它们的更多信息。

  • 我试图通过PartitionKey和RowKey从Azure表存储中检索一个实体。当我的表中确实有一个实体带有这些键时,这种方法非常有效。 但是,当没有找到带有for键的实体时,我只是收到一个相当不清楚的错误,说“其中一个请求输入无效”…… 未处理的拒绝存储错误:其中一个请求输入无效。 有没有办法检查特定分区和行密钥是否存在实体?

  • 问题内容: 因此,我从服务器获取了一些JSON值,但我不知道是否会有特定的字段。 像这样: 有时,还会有一个额外的字段,例如: 我想检查名为“ club”的字段是否存在,以便在解析时不会得到 org.json.JSONException:club的值 问题答案: JSONObject类具有一个名为“ has”的方法: http://developer.android.com/reference/o

  • 我正在使用Gradle 2.4部署在Grovvy和Java开发的工件。我想在工件发布之前检查它的实际存在。一个应用程序是避免覆盖在生产中提取的工件。另一个应用程序是发现下一个次要版本,用于发布集成测试的版本。 我正在发布到常春藤知识库中,我的组件以组、名称和版本为特征。我想知道如何使用GradleAPI来检查是否已经发布了带有这些输入的工件。 谢谢你Loic

  • 问题内容: 是否有更可读的方法来检查是否存在嵌入字典的键而无需独立检查每个级别? 可以说我需要在埋藏的对象中获取此值(示例取自Wikidata): 为了确保不会以运行时错误结束,有必要检查每个级别,如下所示: 我可以想到的另一种解决方法是将其包装到一个结构中,对于这样一个简单的任务,我也觉得很尴尬。 我正在寻找类似的东西: 如果所有级别都存在,则返回。 问题答案: 简而言之,使用Python,您必

  • 问题内容: 我有两个实体: 保存首选项时,我具有accountId,但没有Account实体。在这种情况下,如何保存首选项? 加载帐户实体并在首选项上进行设置?对我来说,这似乎是对数据库的错误旅行。 是否具有一个可持久保存的accountId字段并使Account字段为只读?同时拥有一个accountId字段和一个Account字段似乎多余吗? 使用NamedQuery保留首选项?我希望只是通用地