我将代码从EJB迁移到Spring-Hibernate。如果发生故障,如何加入事务和回滚? 以下是EJB中的代码:
compare("scissors", computerChoice); //at the end of script
更新1: 我们如何加入在不同数据库上发生的两个交易? 有2个交易需要原子地执行。如果第二个事务失败,则必须回滚第一个事务。如何实现这个?
答案 0 :(得分:1)
entityManager.joinTransaction();
的目的是通知持久化上下文以使自己与当前事务(reference)同步
由于代码正在迁移到Spring,考虑利用@Transactional
提供的现成事务抽象。这将使joinTransaction()
的调用变得冗余,并且Spring将负责回滚/提交。
注意 - 确保正确选择transaction settings,以便与当前实施内联。