java – Spring Data JPA Repositories:是否可以给params一个默认的Value / default all?

前端之家收集整理的这篇文章主要介绍了java – Spring Data JPA Repositories:是否可以给params一个默认的Value / default all?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

因此,简而言之:是否可以将参数设置为“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提到的规范.

原文链接:https://www.f2er.com/spring/432115.html

猜你在找的Spring相关文章