首页 » Java » hibernate的延迟加载和关联数据抓取方式

hibernate的延迟加载和关联数据抓取方式

原文 http://blog.csdn.net/a944700338/article/details/78089203

2017-09-25 22:20:10阅读(175)

hibernate延迟加载
1、为了提高数据库的执行效率,只有在需要数据的时候才从数据库中查询加载数据
如果session关闭,那么没有加载的数据就会无法进行加载。

2、延迟加载分类
1、实体类别的加载
在实体类映射文件的Class标签中加入lazy=“true|false”属性
此延迟加载只使用与session.load(类名.class,id)
2、集合属性的延迟加载
在实体类映射文件的set标签中加入lazy=“true|false|extra”属性
当lazy=“extra”的时候是延迟的数据中需要什么就加载什么数据
如需要name属性,调用getName()时就之后加载name属性
3、<many-to-one lazy="proxy|no-proxy|false">
当lazy=“"proxy”时和true前面一样
当lazy=“no-proxy”时需要在编译时加强字节码,否则无效
4、普通属性的验证加载
<property lazy="false|true">
基本没用
hibernate数据抓取
1、<many-to-one fetch="select|join">
默认select 获取关联数据的时候单独发送SQL语句
fetch=join 通过左连接查询获取关联数据
2、<one-to-one fetch="join|select"> 
和上面一样
3、<set fetch="select|subselect|join">
fetch= subselect 通过自查询获取关联数据

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹

天天可领!最高99块!土豪站长12月发红包啦!

关闭
支付宝红包