在分层的 Spring MVC Web 应用程序中处理休眠会话的最佳方式
如果我们有一个Web应用程序,它有
- heavy UI (Spring MVC + JQuery with JSON)
- 休眠,JPA 注释是域模型
- 将 Spring 提供的 DAO 扩展到 DAO 层的代码
- JBOSS是应用程序服务器,Oracle作为后端
- 基于数据源 (JNDI) 的连接池(不是 XA,而是本地数据源)
- 还可以访问多个数据源(处理多个数据库)
从行为上讲,大量的数据检索(70%)和30%
的数据更新对于以下有效使用数据库连接并确保连接使用时没有太多泄漏的最佳实践是什么?
- 选择基于休眠模板的DAO会更好吗?
- 什么样的事务管理器是可以建议的,我们应该选择基于AOP的事务管理在哪里
- 在何处实例化会话,以及在何处关闭会话以有效使用来自连接池的连接。
- 确实,我们需要从服务层处理事务,但是会话会发生什么,它们会等待更长的时间(我们没有使用任何opensessioninviewFilter)
- 哪个层更适合处理选中的异常(业务异常)和运行时异常。
很抱歉这是一个有点长的问题,但是我看到这是一个常见的查询,我尝试合并它。感谢您的耐心和指导。感谢您的帮助。