【问题标题】:FindByOrNullAnd method in Spring Data JPA - cruderepositorySpring Data JPA 中的 FindByOrNullAnd 方法 - 粗存储库
【发布时间】:2017-01-06 19:17:48
【问题描述】:

谁能帮我用 Jpa 转换下面的查询

select * from TABLE where (TYPE='Droid2' OR EQUIPMENT_TYPE 为 NULL ) 且 ACTIVE='Y';

我尝试过类似的方法

List<Table> findByTypeOrTypeIsNullAndActive(string type, string active);

以上查询未提供正确列表。任何帮助表示赞赏。

我可以通过编写@Queryin 服务来使其工作,但要寻找有关条件查询的任何解决方案

@Query(" select new Table(id, type,active from Table r where (r.type is
NULL OR r.type = ?1) and r.active = ?2 ") 
List<Table> findByTypeOrTypeIsNullAndActive(string type, string active);

【问题讨论】:

  • 这是一个非常奇怪的问题,因为这正是@Query 的目标,它允许您进行正确的查询,而不必像您正在使用的那样创建一个方法名称。
  • 好,那我删这个问题?

标签: jakarta-ee spring-boot spring-data-jpa jpql


【解决方案1】:

在 RnD 之后,我意识到 @Query 提供了在这种情况下使用的功能。

这样用

@Query(" select new Table(id, type,active from Table r where (r.type is
NULL OR r.type = ?1) and r.active = ?2 ") 
List<Table> findByTypeOrTypeIsNullAndActive(string type, string active);

【讨论】:

    猜你喜欢
    • 2017-08-20
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2017-09-07
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多