KuinaDAOでの複雑な(?)表現
SQLのWHERE句の中に
「AND (○○ = 'Choo' OR ○○ IS NULL)」
のように多層な表現を入れる場合。
import static org.seasar.kuina.dao.criteria.CriteriaOperations.or;
import static org.seasar.kuina.dao.criteria.CriteriaOperations.ne;
import static org.seasar.kuina.dao.criteria.CriteriaOperations.isNull;
conditionalExpressions.add(or(
ne(Id.shop.ognl() + "." + Id.shopCode.ognl(), "choo"),
isNull(Id.shop.ognl() + "." + Id.shopCode.ognl())
)
);
これによって生成される条件節は
and (
shop1_.shopCode<>'choo'
or shop1_.shopCode is null
)