事务的管理:通常在service层,也就是业务逻辑层处理。目前已经得到了绝大多数人的认同。
1.如果应用中没有使用spring,则需要在service method中管理transaction的开始和关闭。
2.如果应用了spring,则可以使用AOP的方式对事务进行管理。
数据库连接的管理:
假如采用了hibernate作为持久层的框架:
1.如果使用open session in view模式,通常在servlet filter中管理数据库的连接。
2.如果采用session-per-operation的方式,则每次数据库操作后关闭session。但据说这种方式在hibernate3中不提倡使用,转而推荐使用session-per-request方式。因为开发过程中经常会遇到在事务外访问延迟加载的数据,如果连接在业务层方法中已经关闭,则会报session is closed异常。
本文讨论了事务管理和数据库连接管理的最佳实践。事务管理通常在service层处理,若未使用Spring框架则需手动管理;若使用Spring,则可通过AOP进行管理。数据库连接管理方面,介绍了在Hibernate框架下不同模式的应用场景。
431

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



