我正在尝试为此查询制定方法名称:
@Query("from Employees where department = ?1 and (fullTime = true or contractor = true or subContractor = true)")
我认为这种方法可以解决这个问题,但是它会在一个部门和全部时间进行
public ListfindByDepartmentAndfullTimeTrueOrContractorTrueOrSubContractorTrue(String dept);
这是一个相关的问题:Spring JPA Data"OR"查询但在2012年被问到.有没有办法实现这一点而不必使用@Query
?
这目前不受支持,可能永远不会是一个非常简单的原因:
派生查询被认为是定义非常简单的查询的一种方法.我承认这是模糊的,但如果你到了findByDepartmentAndfullTimeTrueOrContractorTrueOrSubContractorTrue
它的时候重新考虑这是否真的是你想要向客户公开的东西.编写起来很尴尬,阅读起来很尴尬,实际上可能不仅仅是一个谓词集合,而是传达了更高层次的意义,因此应该以更具描述性的方式命名.
正如您已经发现的那样,解决方案是使用@Query
或Querydsl谓词.