社区
Java EE
帖子详情
hibernate什么时候延迟加载?
寂寞空虚党
2009-05-08 10:11:30
比如有的时候,不延迟加载,效率就比较低。
若是延迟加载的话,就会报 Session已关闭。
...全文
304
9
打赏
收藏
hibernate什么时候延迟加载?
比如有的时候,不延迟加载,效率就比较低。 若是延迟加载的话,就会报 Session已关闭。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寂寞空虚党
2009-05-18
打赏
举报
回复
我是用了 spring,我的意思是,延迟加载的话,我想取出这个对象里面的一个属性对象的属性对象的属性,类似这种级联的时候,
不好控制,如果不延迟,是肯定没问题,但效率会打折扣。如果延迟的话, 就不好控制Session了
swprogrammer
2009-05-15
打赏
举报
回复
在查询的时候你用load,那么hibernate就会先给你返回一个代理对象,当你调用这个对象的属性的时候hibernate才会去加载这个对象。
get不会使用延迟加载
你用spring管理hibernate事务的话,那就会不存在session关闭的对象
用spring管理事务,也是现在一种最常用的方式
chenleicom
2009-05-15
打赏
举报
回复
比如 你取一个set集合里面的值 如果有100条数据 如果不是延时加载 那么它运行到set集合取数据的时候 就马上发出100条SQL语句 到数据库里 查询值 效率肯定降低
你延时加载 session关闭 是因为你没处理好session
如果加了spring 可以自己写个单独的session类 继承OpenSessionInviewFilter类 并实现这个类里面的方法
如果是hibernate 就把session放到 filter类里面去 管理
原理都是 如果session是关闭的 就打开 如果session是打开就直接返回
qinlu7662032
2009-05-14
打赏
举报
回复
不使用 延迟加载的话 性能太差 还是用最原始的方法 写一个查询方法 如果需要级联插叙的话 就调用它 这样就不用考虑什么性能问题了
m21686041
2009-05-13
打赏
举报
回复
要是延时加载可以随时空值就好了..不过按我这个初学者的理解可能要 专门写个方法来操作xml
kjduanhaowei
2009-05-13
打赏
举报
回复
lazy加载的话,加一个OpenSessionInViewFilter应该就可以把东西拿上来了吧?
lanxin8805
2009-05-12
打赏
举报
回复
呵呵,是一个很纠结的问题,我也总在考虑
寂寞空虚党
2009-05-10
打赏
举报
回复
[Quote=引用 1 楼 fgl459 的回复:]
例如:银行开户,一个人可以开多个帐户,一个帐户只能属于一个人,所以在用户类里包含一个帐户的集合,帐户类里包含一个用户类型,他们之间是一对多的关系.
如过你在查询的时候,通过用户查询是,如果只想查到用户就用(hibernate)默认的延迟加载,这样效率也高,如果你想把该用户的的所有帐户都一同查出来,那就需要立即加载了,这样一来如果一个用户对应的帐户比较多的话,他的效率是很低的.
设置加载方式一般有两种,一种是通过映射文件(…
[/Quote]
但是,我要是延迟的话。,如果我要在页面上显示里面那个对象属性的,属性的话。。是显示不出来的
fgl59
2009-05-08
打赏
举报
回复
例如:银行开户,一个人可以开多个帐户,一个帐户只能属于一个人,所以在用户类里包含一个帐户的集合,帐户类里包含一个用户类型,他们之间是一对多的关系.
如过你在查询的时候,通过用户查询是,如果只想查到用户就用(hibernate)默认的延迟加载,这样效率也高,如果你想把该用户的的所有帐户都一同查出来,那就需要立即加载了,这样一来如果一个用户对应的帐户比较多的话,他的效率是很低的.
设置加载方式一般有两种,一种是通过映射文件(lazy=false),另一种是通过程序的方式来实现的也很简单.
Hibernate
是如何
延迟加载
的
本文探讨了
Hibernate
中的
延迟加载
机制,对比了非
延迟加载
的问题,并介绍了如何利用Spring框架整合
Hibernate
实现
延迟加载
,包括Web层和业务逻辑层的具体实现方法。
Hibernate
的
延迟加载
这篇博客详细探讨了
Hibernate
的
延迟加载
机制,包括延迟属性加载和延迟关联实体加载。延迟属性加载涉及 PersistentSet 等代理类对集合属性的处理,以及通过 FieldHandler 实现非集合属性的
延迟加载
。而延迟关联实体加载则分为多对一和一对一的情况,一对一关联中,
Hibernate
使用Javassist生成动态代理对象。推荐使用HQL或Criteria查询避免不必要的属性加载。
Hibernate
延迟加载
本文介绍
Hibernate
框架中的
延迟加载
技术,包括一对多、多对多关系的
延迟加载
设置方法及lazy、proxy等配置选项的作用。
hibernate
延迟加载
本文详细解释了
Hibernate
中实体
延迟加载
的概念及三种类型:实体
延迟加载
、集合
延迟加载
、属性
延迟加载
。通过实例展示了如何在代码中启用
延迟加载
特性,以及通过代理类实现
延迟加载
的过程。
hibernate
延迟加载
本文深入解析
Hibernate
中
延迟加载
的工作原理,介绍了如何通过配置实现集合属性和关联实体的
延迟加载
,探讨了
延迟加载
对系统性能的影响及其实现机制。
Java EE
67,535
社区成员
225,849
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章