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