Java Spring数据复杂查询创建

Java Spring数据复杂查询创建,java,spring,jpa,spring-data,spring-data-jpa,Java,Spring,Jpa,Spring Data,Spring Data Jpa,我已经为我的学生域模型创建了一个spring数据jpa存储库,我想创建一个更复杂的查询,如下所示: List findBySchoolAndLastNameLikeOrId(School s); 列出由SchoolLastNameLikeOrid(学校s)查找的列表; 我的问题是如何定义where子句之间的括号。我的意思是,查询将像这样执行 List findBy(SchoolAndLastNameLike)OrId List findBySchoolAnd(LastNameLikeOrId)

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

List findBySchoolAndLastNameLikeOrId(School s); 列出由SchoolLastNameLikeOrid(学校s)查找的列表; 我的问题是如何定义where子句之间的括号。我的意思是,查询将像这样执行

List findBy(SchoolAndLastNameLike)OrId List findBySchoolAnd(LastNameLikeOrId) 列表由(school和lastname-like)或ID查找 还是像这样

List findBy(SchoolAndLastNameLike)OrId List findBySchoolAnd(LastNameLikeOrId) 列出findBySchoolAnd(LastNameLikeOrId) 我怎样才能把括号放在我想要的地方,或者创建更复杂的查询?请不要使用自定义存储库实现或使用
@Query
注释来回答我的问题-我想知道是否可以通过方法名定义这个复杂的查询


蒂亚

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

您能否至少解释一下上述(
findBySchoolAndLastNameLikeOrId
)的运行方式?您已经在问题中记录了它当前的运行方式:
绑定比
更强。因此,它将被(school和lastnamelike)或ID有效地
列表查找。哦,好吧。。。我就是这么想的:(