| 예) select * from table1 where con1 = 1 or con2 like '2%'; Criteria crit = session.createCriteria(Product.class); Criterion con1 = Restrictions.eq("con1", 1); Criterion con2 = Restrictions.like("con2","2%"); LogicalExpression orExp = Restrictions.or(con1, con2); crit.add(orExp);
예) select * from table1 where con1 = 1 and (con2 = 2 or con3 = 3); Disjunction aOrB = Restrictions.disjunction(); aOrB.add(Restrictions.eq("con2", "2")); aOrB.add(Restrictions.eq("con3", "3")); crit.add(Restrictions.and(Restrictions.eq("con1", "1"), aOrB));
예) select * from table1 a inner join table2 b on a.id = b.id where a.con1 = 1 and (a.con2 = 2 or b.con2=2); Criteria crit = session.createCriteria(Product.class); Criteria critTable2 = crit.createCriteria("table2","b"); crit.add(Restrictions.eq("con1", 1)); crit.add(Restrictions.disjunction().add(Restrictions.eq("con2", 2).add(Restrictions.eq("b.con2",2)));  ( 0)  ( 0) |