2007-05-10
Hibernate的Lazy loading机制到处扩散对系统架构带来的不良后果
看了以前的帖子
http://www.javaeye.com/post/282606
也结合自己目前遇到的问题
我认为Hibernate Lazy loading(主要指使用OpenSessionInView)机制是不能用在稍微复杂的企业系统中的
它看似方便,走了捷径,其实破坏了固有的分层结构,把本该属于持久层的机制四处传播,同时也带来了很多风险,会影响其他的功能的使用
主要体现在
1. Web remoting
2. Cluster环境session对象序列化的问题(现在越来越多的框架会根据一顶的策略,把状态维护在session中)
3. xml-java object serialize和Deserialize
4. 将来的其它RIA技术
所以,从系统总结架构考虑,我是坚决杜绝使用将lazy机制扩散到service层以外的。
我的建议是web层存在一个剪裁过的VO,与Service层的PO完成自动数据的复制(手工 or 基于元数据描述)
但不可否认,lazy loading在适当的场合还是能发挥其作用的
http://www.javaeye.com/post/282606
也结合自己目前遇到的问题
我认为Hibernate Lazy loading(主要指使用OpenSessionInView)机制是不能用在稍微复杂的企业系统中的
它看似方便,走了捷径,其实破坏了固有的分层结构,把本该属于持久层的机制四处传播,同时也带来了很多风险,会影响其他的功能的使用
主要体现在
1. Web remoting
2. Cluster环境session对象序列化的问题(现在越来越多的框架会根据一顶的策略,把状态维护在session中)
3. xml-java object serialize和Deserialize
4. 将来的其它RIA技术
所以,从系统总结架构考虑,我是坚决杜绝使用将lazy机制扩散到service层以外的。
我的建议是web层存在一个剪裁过的VO,与Service层的PO完成自动数据的复制(手工 or 基于元数据描述)
但不可否认,lazy loading在适当的场合还是能发挥其作用的
- 浏览: 2960 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
对JSF的期待和想法,请发 ...
JSF的表现层技术facelet其实已经脱离了JSP而facelet已经具有很强 ...
-- by chxkyy -
对JSF的期待和想法,请发 ...
最近一直在用Facelets,也期望Facelets在复合组件的能力上有进一步的 ...
-- by JJYAO -
对JSF的期待和想法,请发 ...
langds 写道"提供完整的Runtime API规范,能够使所有的Faces ...
-- by JJYAO -
对JSF的期待和想法,请发 ...
"提供完整的Runtime API规范,能够使所有的Faces标准组件/扩展组件 ...
-- by langds -
对JSF的期待和想法,请发 ...
太好了!MyFaces总算是发布1.2版了业余时间一直都在用JSF进行开发,感觉 ...
-- by 打倒小日本






评论排行榜