gpt4 book ai didi

spring - JPA Spring存储库过滤多个参数

转载 作者:行者123 更新时间:2023-12-02 07:14:45 25 4
gpt4 key购买 nike

我正在使用 Spring 存储库,如下所示,以便按日期范围进行过滤

public interface CustomerRepo extends CrudRepository<Customer, Long> {

public List<Customer> findByCreatedBetween(LocalDate start, LocalDate end);
}

它非常简单并且工作正常,但现在我需要扩展我的休息服务以考虑其他过滤条件,例如排序或未排序,o 按城市和国家/地区过滤。调用服务时,可能会设置一些参数,而另一些则不设置。当然,我无法创建像 findByCreatedBetween 这样的方法来考虑所有可能的数据组合。处理这种情况的最佳方法是什么?

谢谢!

最佳答案

看看这篇文章:

http://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-four-jpa-criteria-queries/

您还可以“以旧方式”实现存储库,即将entityManager注入(inject)到您的存储库中并创建一个接受自定义条件对象的findByCriteria方法。在此处查找标准 API 文档: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

关于spring - JPA Spring存储库过滤多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36485224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com