我按如下方式使用
Spring存储库,以便按日期范围进行过滤
public interface CustomerRepo extends CrudRepository<Customer, Long> {
public List<Customer> findByCreatedBetween(LocalDate start, LocalDate end);
}
这是荒谬的简单,工作正常,但现在我需要扩展我的休息服务,以考虑其他过滤器标准,例如排序o未排序,o按城市和国家过滤.在调用服务时,可以设置一些参数而不设置其他参数.当然,我不能创建像findByCreatedBetween这样的方法来考虑所有可能的数据组合.处理这种情况的最佳方法是什么?
谢谢 !
最佳答案 看看这篇文章:
您还可以“旧方式”实现存储库,即将entityManager注入到repo中并创建接受自定义条件对象的findByCriteria方法.在这里找到标准API docs:https://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/querycriteria.html
标准API的另一种替代方法是使用JPQL,您可以使用相同的条件创建动态查询字符串. JPQL参考:http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html