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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 如何使用多个OR动态构建booleanbuilder条件_Java_Jquery_Mysql_Hibernate_Jpa - Fatal编程技术网

Java 如何使用多个OR动态构建booleanbuilder条件

Java 如何使用多个OR动态构建booleanbuilder条件,java,jquery,mysql,hibernate,jpa,Java,Jquery,Mysql,Hibernate,Jpa,我需要建立一个具有许多OR的BooleanBuilder条件 我有一个具有2个输入参数的方法: User findUser(String inputname, List<String> inputcities); 作为OR,我应该如何为许多城市动态构建它? 检查用户是否来自数组中给定的城市之一? 所以数组可能包含5,10个城市。如果用户实体有外键,引用城市实体,我建议您使用类似于以下内容的sql查询: select u.* from User u where u.NAM

我需要建立一个具有许多OR的BooleanBuilder条件

我有一个具有2个输入参数的方法:

User findUser(String inputname, List<String> inputcities);
作为OR,我应该如何为许多城市动态构建它? 检查用户是否来自数组中给定的城市之一?
所以数组可能包含5,10个城市。如果用户实体有外键,引用城市实体,我建议您使用类似于以下内容的sql查询:

select  u.*
  from  User u
  where u.NAME = :inputname
    and u.CITY_ID in :inputcities
实现它的最简单方法是使用SpringData的JPA存储库。 如果你这样做,你就不需要任何BooleanBuilder或其他定制的东西


如果仍不清楚,请随时询问。

假设用户实体有一个外键,引用城市实体,我建议您使用类似于以下内容的sql查询:

select  u.*
  from  User u
  where u.NAME = :inputname
    and u.CITY_ID in :inputcities
实现它的最简单方法是使用SpringData的JPA存储库。 如果你这样做,你就不需要任何BooleanBuilder或其他定制的东西


如果还有什么不清楚的地方,请尽管问。

谢谢!这部分是可以理解的。但我需要BooleanBuilder和JPA的形式。有可能吗?@jack,你需要一个多or形式的查询,还是最好使用in子句?这并不重要。两种情况都可以。正如我在主题描述中提到的,只是以BooleanBuilder的形式。尝试使用以下代码:BooleanBuilder=newBooleanBuilder(user.name.eq(inputname))。和(user.city.in(inputcities));谢谢这部分是可以理解的。但我需要BooleanBuilder和JPA的形式。有可能吗?@jack,你需要一个多or形式的查询,还是最好使用in子句?这并不重要。两种情况都可以。正如我在主题描述中提到的,只是以BooleanBuilder的形式。尝试使用以下代码:BooleanBuilder=newBooleanBuilder(user.name.eq(inputname))。和(user.city.in(inputcities));