为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法动态生成 Spring Data Jpa 查询?

有没有办法动态生成 Spring Data Jpa 查询?

慕无忌1623718 2023-09-13 17:19:00
我正在使用 Spring Boot、Spring Data 编写一个应用程序。我正在尝试实现基于不同过滤器参数的过滤功能。使用 Spring Data 查询我们可以定义相当复杂的逻辑,例如:@Query("SELECT u FROM User u WHERE u.status = 1")Collection<User> findAllActiveUsers();但是,如果在我们发出可能相当复杂的实际过滤请求之前,where 子句的数量、顺序、限制、不同参数的数量都是未知的,该怎么办?现在,过滤器参数以 json 对象的形式发送,我解析并检索它们,结果 sql 查询可能如下所示:SELECT * FROM tableWHERE field1 != `value1` and (field1 != ` value2 `OR (field1 = `value3` AND filed2 < 3))AND field2 != 99是否可以生成具有未定义(直到实际过滤器请求,在运行时)数量的参数、where 子句和其他内容的动态复杂查询?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

我使用这个活动项目 RSQL for JPA

https://github.com/perplexhub/rsql-jpa-specification


查看完整回答
反对 回复 2023-09-13
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

要以类型安全的方式构建它,您可以使用FluentJPA。



查看完整回答
反对 回复 2023-09-13
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信