Java 如何使用多个OR动态构建booleanbuilder条件
我需要建立一个具有许多OR的BooleanBuilder条件 我有一个具有2个输入参数的方法: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
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));