一尘不染

使用Spring自动进行Hibernate事务管理?

hibernate

Spring框架在多大程度上适用于事务处理?我读过《 Spring In
Action》一书中的建议,并提供了一些示例,这些示例创建了不用担心会话和事务管理的DAO方法,只需通过以XML设置会话工厂和事务模板,然后将它们连接到DAO中即可。另一方面,SpringSource.org的文档建议需要大量的XML和/或注释才能实现此目的。

真相是什么,我按照以下方式获取代码的最简单方法是什么?

get session from sessionfactory
open transaction
preform database actions
commit transaction with error handling

并使其

preform database actions

减少我在所有方法中拥有的样板交易代码的数量?


阅读 315

收藏
2020-06-20

共1个答案

一尘不染

Spring提供了至少3种事务划分方法:

1)通过TransactionTemplate或PlatformTransactionManager进行程序化处理-点亮配置,但具有侵入性

2)通过XML进行声明-详细的XML,但非侵入性

3)通过注释进行声明-轻于XML,无创

您选择哪一个取决于最适合您的需求,Spring不会为您做出选择。从您的问题看来,注解方法就是您所追求的。

我建议阅读Spring参考手册中的注释驱动的事务处理部分。简洁明了。

我总是先查阅ref文档,如果文档中未包含该书,则只会查阅一本书。

2020-06-20