在Hibernate中加入一个事务

时间:2017-03-20 05:49:43

标签: spring hibernate ejb

我将代码从EJB迁移到Spring-Hibernate。如果发生故障,如何加入事务和回滚? 以下是EJB中的代码:

compare("scissors", computerChoice); //at the end of script

更新1: 我们如何加入在不同数据库上发生的两个交易? 有2个交易需要原子地执行。如果第二个事务失败,则必须回滚第一个事务。如何实现这个?

1 个答案:

答案 0 :(得分:1)

entityManager.joinTransaction();的目的是通知持久化上下文以使自己与当前事务(reference)同步

由于代码正在迁移到Spring,考虑利用@Transactional提供的现成事务抽象。这将使joinTransaction()的调用变得冗余,并且Spring将负责回滚/提交。

注意 - 确保正确选择transaction settings,以便与当前实施内联。