【问题标题】:Can I add condition with spring data standard interface methods我可以用spring数据标准接口方法添加条件吗
【发布时间】:2018-12-05 11:56:38
【问题描述】:

我可以在提供的接口方法中添加条件,比如 spring 数据的“findAll”吗?例如,如果表有列“名称”和“已删除”——我可以创建一个查询为findByNameAndDeletedIsNull,它将给出所有未删除的名称。我试过“findAllAndDeletedIsNull”,但这不起作用 - 这可能吗? 我知道这可以通过@query 来实现,但我们很想知道如何用条件来扩充标准方法。

【问题讨论】:

  • 我已经从您的问题中回答了最好的问题 - 如果您想通过方法名称编写特定查询,请告诉我。

标签: java spring-data-jpa spring-data


【解决方案1】:

你可以做“findByDeletedIsNull”

请参阅here,了解有关可以在方法名称中使用哪些关键字的更多信息。

【讨论】:

    【解决方案2】:

    根据文档,有一种特定的方法可以命名方法以将其解析为正确的 SQL。看这个部分:Spring Data JPA reference - query。

    如果您已准备好查询,您可以轻松地逆向工程,哪个方法名称可以帮助您获得相同的结果。您可以通过从这些基础块构建非常复杂的查询。但是,您不能只将“where”子句的字符串表示形式创建为命名方法。

    从文档中,如果要获取某个字段为空的所有记录:

    IsNull  |   findByAgeIsNull  | … where x.age is null
    

    将表示方法名称,例如 findByDeletedIsNull。

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 1970-01-01
      • 2013-08-14
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2020-12-01
      相关资源
      最近更新 更多