
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
这一篇昆明达内培训的老师将总结Hibernate查询所实现的加载策略。
加载策略:
立刻加载:马上去数据库中查询
延迟加载:当使用数据时去数据库查询
加载的使用:
类级别的加载:某个Class的加载方式
1 get():立刻加载
2 load():是否懒加载和配置属性lazy有关。<class ame="Course" table="t_course" lazy="true">,默认,lazy为true,为懒加载。若改为false,load()方法
将和get()方法一样立刻加载
关联级别的加载:当存在关系时,加载其中一方数据,该如何加载另一方数据?设计到的属性是lazy与fetch属性
1-多加载策略:
默认为: lazy="true",fetch="select"
lazy="true" lazy="false" lazy="extra"
fetch="select"实现懒加载,两条SQl语句,普通select语句 立刻加载,普通select语句
fetch="join" 因为是1条语句,所以立刻加载,连接语句 因为是1条语句,所以立刻加载,连接语句
fetch="subselect" 懒加载,子查询语句 立刻加载,字查询语句
多-1加载策略:
默认为:lazy="false"(明明是false,但实现懒加载,很奇怪),fetch="select"
lazy="false" lazy="proxy" lazy="no-proxy"
fetch="select"延迟加载,普通select语句
若关联对象的加载策略为true,则懒加载
若关联对象的加载策略为false,则立刻加载
fetch="join" 立刻加载,连接语句 立刻加载,连接语句
昆明达内培训的老师总结的Hibernate查询所实现的加载策略讲到这里就结束了。