点击下面连接查看openInView时序图:
http://handawei.iteye.com/upload/picture/pic/38460/0e9d6ae5-b35e-3d63-abe7-96af95eae85d.jpg
基于事务的边界应该是一次业务,和hibernate的懒加载,所以在用户请求的时候加了一个过滤器,来打开hibernate session,和事务,后面等到业务完成返回到action中,页面展现给用户,这是session. 和事物都没关闭或提交,这样hibernate的懒加载可以使用,事务要回滚的话,这次的业务都能回滚。带来新的问题,session时间太长,占用数据库连接资源也就太长,事务还没提交前台的页面已经显示了,若用户的客户端出现问题,不会释放session.
本文探讨了在使用Hibernate框架时如何平衡懒加载机制与事务管理的问题。通过在用户请求时打开Session和事务,实现业务操作的同时保持懒加载特性,但这也带来了长时间占用数据库连接资源等问题。
196

被折叠的 条评论
为什么被折叠?



