Spring Data复杂查询创建

5
我已经为我的Student领域模型创建了一个spring-data-jpa repository,我想创建一个更复杂的查询,类似于这样:
List findBySchoolAndLastNameLikeOrId(School s);
我的问题是如何定义where子句之间的括号。我的意思是,查询将像这样执行:
List findBy(SchoolAndLastNameLike)OrId
或者像这样:
List findBySchoolAnd(LastNameLikeOrId)
我该如何在想要的位置放置括号或创建更复杂的查询?请不要回答我使用自定义存储库实现或使用@Query注释 - 我想知道是否可以通过方法名定义这个复杂的查询。
谢谢!
1个回答

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

你能解释一下上面的代码(findBySchoolAndLastNameLikeOrId)是如何运行的吗? - Serafeim
你已经在问题中记录了当前运行方式:andor更强。因此,它将有效地是List findBy(SchoolAndLastNameLike)OrId - Oliver Drotbohm
哦,好吧...这就是我想的 :( - Serafeim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接