【问题标题】:Spring data complex query creationSpring数据复杂查询创建
【发布时间】:2013-10-07 11:16:49
【问题描述】:

我已经为我的学生域模型创建了一个 spring-data-jpa 存储库,我想创建一个更复杂的查询,如下所示:

列出 findBySchoolAndLastNameLikeOrId(School s);

我的问题是如何在 where 子句之间定义 括号。我的意思是,查询将像这样执行

列出 findBy(SchoolAndLastNameLike)OrId

或者像这样

列出 findBySchoolAnd(LastNameLikeOrId)

如何将括号放在我想要的位置或创建更复杂的查询?请不要用自定义存储库实现或 @Query 注释的使用来回答我 - 我想知道我想做的是否可以通过方法名称来定义这个复杂的查询。

TIA!

【问题讨论】:

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


    【解决方案1】:

    简而言之:你不能。查询派生机制针对简单的用例。对于更复杂的查询,请使用 @Query 或定义 JPA 命名查询。

    【讨论】:

    • 您能至少解释一下上述 (findBySchoolAndLastNameLikeOrId) 的运行方式吗?
    • 您已经在问题中记录了它当前的运行方式:and 的绑定比or 强。所以它实际上是List findBy(SchoolAndLastNameLike)OrId
    • 哦,好吧……我就是这么想的 :(
    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 2022-10-14
    • 2013-11-07
    • 2017-06-13
    • 2020-02-12
    • 2019-10-05
    • 1970-01-01
    • 2013-09-01
    相关资源
    最近更新 更多