我是否可以使用JTA休眠?

问题描述 投票:7回答:1

如果JTA是一个API,我可以使用Hibernate作为JTA的实现?

我有Spring和Hibernate的应用程序,我不知道该框架应负责交易,春天或休眠?

java spring hibernate transactions jta
1个回答
17
投票

Hibernate是不是JTA的实现。 Hibernate是一个JPA实现。

JTA是一个企业的交易规范,这是由Java EE的供应商实施或待机沿着事务管理器(例如Bitronix)。

Hibernate提供事务API抽象,因为ORM工具采用transactional write-behind持久化上下文。

Spring提供了transaction management abstraction,它允许你从RESOURCE_LOCAL切换到JTA事务只有一些琐碎的配置更改。

春天设法基于Hibernate / JPA的Transaction API抽象之上整合了。

如果你使用Spring,那么你应该充分利用它的事务管理抽象的,所以你不必使用Hibernate / JPA的Transaction API。

因为Spring AOP使用,事务管理是从你的业务逻辑,如果你使用的程序的Hibernate / JPA的Transaction API这将NT下的情况下分离。

© www.soinside.com 2019 - 2024. All rights reserved.