所以,简而言之:在Spring Data JPA(可能是@Query-Annotated)Repository方法中是否可以将参数设置为“default: All”或更一般的默认特定值?
我知道在(Rest)控制器中设置默认值是可能的,但我只是好奇是否也可以在Repository级别进行此操作。我认为这可能是一个不错的功能,“获取一些经过筛选的结果集,其中前端可能没有通过rest调用设置筛选器”是一个非常常见的用例。
示例查询:
所以,假设未设置街道,存储库应使用“%”返回所有结果,其中其他条件匹配但街道不相关。
我知道在(Rest)控制器中设置默认值是可能的,但我只是好奇是否也可以在Repository级别进行此操作。我认为这可能是一个不错的功能,“获取一些经过筛选的结果集,其中前端可能没有通过rest调用设置筛选器”是一个非常常见的用例。
示例查询:
@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<Item> findItemsFiltered(String name, String age, String street);
所以,假设未设置街道,存储库应使用“%”返回所有结果,其中其他条件匹配但街道不相关。
where e.group IN ?3
(这里不能使用“%”)。但是,到目前为止还不错。如果您愿意,请从您的评论中创建一个答案。我仍然会等待其他答案,但正如所说,这是一个可行的解决方案 :-) - Dominik