加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Spring Data JPA Repositories:是否可以给params一个

发布时间:2020-12-15 01:27:34 所属栏目:大数据 来源:网络整理
导读:因此,简而言之:是否可以将参数设置为“default:All”或更一般地设置为Spring Data JPA(可能是@ Query-Annotated)存储库方法中的默认特定值? 我在aware中可以在(Rest)控制器中设置默认值,我只是好奇它是否可以在Repository-Level中进行.我认为可能是一个很

因此,简而言之:是否可以将参数设置为“default:All”或更一般地设置为Spring Data JPA(可能是@ Query-Annotated)存储库方法中的默认特定值?

我在aware中可以在(Rest)控制器中设置默认值,我只是好奇它是否可以在Repository-Level中进行.我认为可能是一个很好的功能,因为“给我一些过滤的resultSet,其中过滤器可能没有在前端通过rest-call设置”是一个非常常见的用例.

例如查询:

@Query("select new com.my.dto(e.name,e.age,e.address)" +
        " from Entity e" +
        "where e.name like ?1 " +
        "and e.age like ?2  " +
        "and e.street like ?3")
List

所以当我们说没有设置street时,存储库应该使用“%”来返回其他条件匹配但街道不相关的所有结果.

最佳答案
怎么样在@Query本身呢?
就像是:

@Query("select new com.my.dto(e.name,e.address)" +
    " from Entity e" +
    "where e.name like ?1 " +
    "and e.age like ?2  " +
    "and e.street like (CASE WHEN ?3 IS NULL THEN '%' ELSE ?3 END)")
List

另一种方法是使用像@Default这样的自定义参数注释,但这需要自定义存储库实现本身.

另一种替代方案是M. Deinum提到的规范.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读