2011-12-14 126 views
0

以下是我的AOP xml声明。春季交易管理。和代理目标类

<tx:annotation-driven proxy-target-class="true" order="100" /> 

我在服务层没有使用@Transactional注释。仍然交易工作正常,因为我有我的服务层拦截器。

我们不需要@Transactionalproxy-target-class="true"的注释???

我使用Spring -iBatis

+0

你如何知道交易正常工作?在没有事务的情况下,持久性提供者通常只会以自动提交模式运行,所以事情仍然“有效”。 – Affe 2011-12-14 04:38:32

回答

0

事务处理正常,因为事务拦截器内置到Spring AOP代理中,在未检查异常的情况下自动触发回滚。

0

。如果你正在使用Spring的Hibernate的模板OT JDBC模板,您将无法访问该数据库没有活动的事务,这些模板将打开交易你。 HibernateTemplate通过HibernateTransactionManager执行此操作。

阅读HibernateTransactionManager了解更多信息或追踪代码。你会发现一个交易模板正在启动。

您将使用@Transactional定义事务边界,事务传播模式和隔离级别(如果有)。