Criteria使用总结
单表查询使用 Criteria 很方便,进行子查询就比较麻烦了;
值得注意的是,当使用 Restriction.in("propertyName",list ),当 list 为 null 时,会出现异常,应该是 SQL 语法问题,因为 list 为 null,拼接成的 SQL 就有 "IN ()",语法错误,会抛出异常,所以对入参 list 进行判 null 和 size 为 0 的操作;
使用 Criteria 甚至可以增加 sql 语句的条件,通过 Criteria.sqlRestriction() ;
使用 Criteria 也可以增加关联实体的属性的条件,例如需要这样:
Criteria criteria = createCriteria(); return criteria.createCriteria("electronicOrder").add(Restrictions.eq("id", orderId)).list();
以上。
浙公网安备 33010602011771号