Java 有没有办法动态生成Spring数据Jpa查询?

Java 有没有办法动态生成Spring数据Jpa查询?,java,spring,hibernate,spring-boot,spring-data-jpa,Java,Spring,Hibernate,Spring Boot,Spring Data Jpa,我正在用Spring Boot和Spring数据编写一个应用程序。我正试图实现一个基于不同过滤参数的过滤功能 使用Spring数据查询,我们可以定义相当复杂的逻辑,例如: @查询从用户u中选择u,其中u.status=1 集邮服务; 但是,如果where子句的数量、顺序、限制、不同参数的数量未知,直到我们发出一个可能非常复杂的实际筛选请求,该怎么办呢 现在过滤器参数发送到一个json对象中,我解析并检索它们,结果sql查询可以是这样的: 从表中选择* 字段1在哪里!=`值1`和字段1!=`val

我正在用Spring Boot和Spring数据编写一个应用程序。我正试图实现一个基于不同过滤参数的过滤功能

使用Spring数据查询,我们可以定义相当复杂的逻辑,例如:

@查询从用户u中选择u,其中u.status=1 集邮服务; 但是,如果where子句的数量、顺序、限制、不同参数的数量未知,直到我们发出一个可能非常复杂的实际筛选请求,该怎么办呢

现在过滤器参数发送到一个json对象中,我解析并检索它们,结果sql查询可以是这样的:

从表中选择* 字段1在哪里!=`值1`和字段1!=`value2`或field1=`value3`和filed2<3 第二场!=99
有没有可能在运行时生成动态复杂的查询,直到实际的过滤器请求,参数的数量,where子句和其他东西都没有定义?

我以前写过一篇文章。在本例中,您可以发送Where子句和该子句的参数映射。您可以利用它,并根据您的需要对其进行一些修改

我建议使用Spring JPA规范
ref:

我将此活动项目RSQL用于JPA


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

我还发现了诸如Spring Data Rest之类的东西,它开箱即用,支持过滤,以及所有其他与我的案例相关的东西。你知道它是否值得探索吗?感谢您的回复。Spring Data Rest提供CRUD服务以及过滤、排序等。是的,值得探索@Coffemanz。通过使用规范,您将可以更好地控制查询的形成方式,如连接、实体图等。如果这不重要或表结构简单,您可以使用Spring Data Rest