当我们有数据库级别的事务时,使用spring事务的意义是什么?
如果你在java中使用mysql、oracle或其他数据库,他们提供了在事务内部进行事务处理的方法,那么如果我可以使用java db驱动程序方法进行事务处理,为什么还要使用spring transaction呢?
发布于 2015-07-05 05:36:28
它是数据库事务API之上的另一个抽象层。因此,如果您希望将多个数据库与全局事务一起使用,Spring将允许您这样做。虽然我从来没有这样做过,但我相信它会让你同时使用DB2和Hibernate。
一般来说,我发现如果一个特性在Spring中可用,那是因为它有一个用例。他们不会无缘无故地把东西放到框架里。
此外,Spring还提供了声明性事务划分,它可以生成更具可读性和可维护性的Java代码。声明性方法使我们可以轻松地更改事务策略,而无需更改代码。
声明性事务管理方法允许您在配置的帮助下管理事务,而不是在源代码中硬编码。这意味着您可以将事务管理与业务代码分开。您只需使用注释或基于XML的配置来管理事务
我们使用Spring AOP和Hibernate来使用这种事务策略,这里是一个例子,Spring AOP transaction mangement with Hibernate。
https://stackoverflow.com/questions/31223228
复制相似问题