Можно ли создать условия ограничения для Seam EntityQuery, которые объединяются по ИЛИ вместо того, чтобы всегда объединяться вместе?
Ограничения EntityQuery в JBoss Seam
Ответы (2)
Взгляните на setRestrictionLogicOperator (оператор). Оператор может быть «и» или «или». Это будет "и" или "или" все заявления об ограничениях.
person
Petar Minchev
schedule
23.03.2010
Имейте в виду, что вы также можете писать все в private static final String EJBQL, EL также интерпретируется здесь, поэтому вы можете комбинировать OR и AND следующим образом:
select c from Cat c where c.gender=#{cat.gender} and ( c.name=#{cat.name} or c.color=#{cat.color} )
Вы даже можете избежать таких проблем с нулевыми значениями: where c.name=#{empty cat.name ? "defaultName" : cat.name }
person
Simon Lebettre
schedule
23.03.2010
Однако это не даст вам преимущества, если вы будете учитывать только те ограничения, которые не зависят от пустых значений.
- person Michael Piefel; 29.04.2011