Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SpringJPA中动态构造查询来过滤结果?_Java_Spring_Hibernate_Jpa_Spring Data Jpa - Fatal编程技术网

Java 如何在SpringJPA中动态构造查询来过滤结果?

Java 如何在SpringJPA中动态构造查询来过滤结果?,java,spring,hibernate,jpa,spring-data-jpa,Java,Spring,Hibernate,Jpa,Spring Data Jpa,我有一个场景,我必须根据用户提供的过滤选项过滤结果 以下是模型类: class Site{ int price; int length; int someProp;} 我有一个JSP页面,它有一些过滤器,比如minPrice、maxPrice、minLength、maxLength、minSomeProp、maxSomeProp等等。。所有这些都是可选的。用户可以使用这些选项筛选站点 我想根据传递的过滤器动态创建查询。如果所有过滤器都通过了,那么我的查询如下 findByPriceLe

我有一个场景,我必须根据用户提供的过滤选项过滤结果

以下是模型类:

class Site{  int price;  int length; int someProp;}  
我有一个JSP页面,它有一些过滤器,比如minPrice、maxPrice、minLength、maxLength、minSomeProp、maxSomeProp等等。。所有这些都是可选的。用户可以使用这些选项筛选站点

我想根据传递的过滤器动态创建查询。如果所有过滤器都通过了,那么我的查询如下

findByPriceLessThanAndPriceGreaterThanAndLengthLessThanAndLengthGreaterThanAndLessThanSomePropAndGreaterThanSomeProp(param1, param2,param3, param4, param5, param6);  

是否有任何简单的方法可以使用传递的筛选器动态构造查询?

您可以使用创建动态查询。也请看一下。

您真的需要这种语法吗?改用HQL或CriteriaQuery