因此,简而言之:是否可以将参数设置为“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.jb51.cc/spring/432115.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。