JPA 多条件动态查询问题请教

2020-04-24 12:49:52 +08:00
 Akikiki

在使用 JPA 的时候,有以下几个查询条件,如

1. name in ["a", "b", "c"]
2. birthdate > '2000-01-02'
3. prov = "Beijing"

查询的时候,每个条件不一定会真的需要,比如只有 1,3 条件,或者 1,2 条件。这种如何动态的查询

1492 次点击
所在节点    问与答
5 条回复
abobobo
2020-04-24 15:12:30 +08:00
JpaSpecificationExecutor 动态查询
zhenjiachen
2020-04-24 15:23:13 +08:00
querydsl 还有 spring data jpa 的 example 查询都可以动态
Akikiki
2020-04-24 17:35:56 +08:00
@abobobo 谢谢!正在用这个 哈哈 谢谢
norcm
2020-04-24 20:49:37 +08:00
@Query("from Model m
where (:name is null or m.name in (:name))
and ( :birthdate is null or m.birthdate > '2000-01-02')
and ( :prov is null or m.prov=:prov)")
List<Model> findAll(@Param("name")String name,@Param("birthdate") LocalDate birthdate,@Param("prov")String prov)

这样子也可以
wxb2dyj
2020-04-24 22:52:13 +08:00
聚合、query 都可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX