如何通过多个OR动态构建布尔生成器条件

时间:2019-02-07 11:57:09

标签: java jquery mysql hibernate jpa

我需要使用多个OR构建BooleanBuilder条件。

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

User findUser(String inputname, List<String> inputcities);

我有一个代码:

BooleanBuilder builder = new BooleanBuilder();
builder.and(user.name(inputname));

作为OR,我应该如何为许多城市动态构建它? 要检查用户是否来自数组中给出的那些城市之一? 因此数组可能包含5、10个城市。我如何不进行编码就可以做到?

1 个答案:

答案 0 :(得分:0)

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

select  u.*
  from  User u
  where u.NAME = :inputname
    and u.CITY_ID in :inputcities

最简单的实现方法是使用Spring Data的JPA存储库。 如果这样做,则不需要任何BooleanBuilder或其他自定义内容。

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