Hibernate第六章知识点总结——第六章--高级查询
关联映射回顾
事务管理概述
ACID/三种问题/四种隔离级别
Hibernate事务API
JDBC实现/JTA实现
锁机制
悲观锁/乐观锁
目标
熟练应用Criteria、Query
掌握Criteria查询表达式
熟练应用HQL进行各种查询
掌握分页查询方式及机制
知识点预览
Criteria、Query
Criteria查询表达式
HQL
分页查询方式
Criteria
1. Criteria
a) Criteria面向对象化查询接口,将数据查询条件封装为一个对象,可以把它看成传统SQL的对象化表示
Criteria查询表达式
1. Criteria表达式
a) Criteria本身只是个查询容器,具体的查询条件需要通过Cretiria.add方法添加到Criteria实例中。
b) Expression具体描述查询条件,针对SQL语法,Expression提供了对应的查询限定机制。
2. 查询限定机制
a) Expression各方法属性名参数,为POJO中所对应的实际库表字段属性名(
大小写敏感),而非库表中实际字段名。
3. Criteria 查询示例
a) 查询年龄大于18的用户:
Criteria c=session.createCriteria(User.class);
c.add(Expression.gt(“userAge”,18));
b) 查询年龄大于20小于30的用户:
Criteria c=session.createCriteria(User.class);
c.add(Expression.between(“userAge”,new Integer(20),new Integer(30)));
c) 或者:
c.add(Expression.gt(“userAge”,new Integer(20)));
c.add(Expression.lt(“userAge”,new Integer(30)));
4. Criteria 复合查询
User和Address属于一对多的关联关系,根据地址条件查询用户:
Criteria c=session.cr