在我们有数据库级事务时使用spring事务有什么意义?

时间:2015-07-04 17:12:59

标签: spring spring-mvc spring-transactions

在我们进行数据库级事务时使用spring事务有什么意义?

如果在java中使用mysql,oracle或任何其他数据库,它们提供了在事务内部进行操作的方法,那么为什么我可以使用java DB驱动程序方法进行事务处理时进行事务处理?

1 个答案:

答案 0 :(得分:0)

它是数据库事务API的另一个抽象层。因此,如果您想使用具有全局事务的多个数据库,Spring将允许您执行此操作。虽然我从未这样做过,但我相信它可以让你一起使用DB2和Hibernate。

一般来说,我发现,如果Spring中有一个功能,那是因为它有一个用例。他们不仅没有理由将事情放入框架中。

此外,Spring提供了声明式事务划分,它可以生成更易读和可维护的Java代码。声明性方法使我们可以轻松地更改事务策略,而无需更改代码。

声明式事务管理方法允许您在配置的帮助下管理事务,而不是源代码中的硬编码。这意味着您可以将事务管理与业务代码分开。您只能使用注释或基于XML的配置来管理事务

我们使用Spring AOP和Hibernate使用此事务策略以下是一个示例Spring AOP transaction mangement with Hibernate