日期:2014-05-16 浏览次数:20678 次
事务的管理:通常在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异常。