как использовать или критерии со списком ограничений - PullRequest
0 голосов
/ 13 апреля 2019

, поэтому у меня есть список Restrictions.eq, который я хочу добавить в критерии Restrictions.or.это вообще возможно?как ?Ниже приведен пример того, что я имею в виду:

List<Integer> stars=Arrays.asList(1,2,3);

это строки моего отеля в postgresql db:

  1. id: 1, name: Hilton Dubai, star:1
  2. id: 2, имя: Hilton Istanbul, звезда: 2
  3. id: 3, имя: Hilton Paris, звезда: 3
  4. id: 4, имя: HiltonЛондон, звезда: 4
  5. номер: 5, имя: Hilton Rome, звезда: 5

    Criteria criteria = createCriteria();
    
    List<SimpleExpression> expressions=new ArrayList();
    for(Integer star:stars){
        expressions.add(Restrictions.eq("star",star));
    }
    
    criteria.add(Restrictions.or(expressions));
    
    List<Hotel> hotels=criteria.list(); // returns id 1 and 2 and 3
    

1 Ответ

0 голосов
/ 13 апреля 2019

Ваше выражение неверно.Вы говорите, что примите все выражения, или я дам вам другое выражение, когда я приведу их с проверкой "или".Вы должны создать выражения как одно выражение и добавить все simpleExpression в другое выражение с помощью Restrictions.or.Удалить List<SimpleExpression> expressions=new ArrayList(); Создать A Criterion.Concat all Criterion с Restrictions.or для цикла ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...