当前位置:  开发笔记 > 编程语言 > 正文

如何在Spring数据JPA中做AND和多个OR参数方法

如何解决《如何在Spring数据JPA中做AND和多个OR参数方法》经验,为你挑选了1个好方法。

我正在尝试为此查询制定方法名称:

  @Query("from Employees where department = ?1 and (fullTime = true or contractor = true or subContractor = true)")

我认为这种方法可以解决这个问题,但是它会在一个部门和全部时间进行

  public List findByDepartmentAndfullTimeTrueOrContractorTrueOrSubContractorTrue(String dept);

这是一个相关的问题:Spring JPA Data"OR"查询但在2012年被问到.有没有办法实现这一点而不必使用@Query



1> Oliver Drotb..:

这目前不受支持,可能永远不会是一个非常简单的原因:

派生查询被认为是定义非常简单的查询的一种方法.我承认这是模糊的,但如果你到了findByDepartmentAndfullTimeTrueOrContractorTrueOrSubContractorTrue它的时候重新考虑这是否真的是你想要向客户公开的东西.编写起来很尴尬,阅读起来很尴尬,实际上可能不仅仅是一个谓词集合,而是传达了更高层次的意义,因此应该以更具描述性的方式命名.

正如您已经发现的那样,解决方案是使用@Query或Querydsl谓词.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有