事务如何与多个持久性单元一起使用

时间:2017-03-15 09:09:35

标签: java jpa jersey

我有一个类有两个这样的持久性单元

@Stateless
public class SearchRepository {

    @PersistenceContext(unitName = "XYZ")
    private EntityManager entityManager;

    @PersistenceContext(unitName = "ABC")
    private EntityManager entityManager1;

    @Transactional(value = TxType.REQUIRED)
    public void doSomething(){
        entityManager.persist(someentity);
        entityManager1.remove(someentity);
    }
}

我有这个代码并且工作正常可以请任何人解释如何在这种类型的代码中管理事务。 JPA如何使用多个持久性单元管理事务我无法猜测事务在这里是如何工作的。任何帮助都会得到帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

@Transactional绑定到您的默认PlatformTransactionManager - Bean - 例如entityManager。使用entityManager1可能会以非事务方式与此PersistenceContext进行交互。

[可以使用@Transactional属性更改transactionManager的默认行为。]