AFAIK,有两种类型的实体管理器。1. 容器管理实体管理器 2. 应用管理实体管理器
- 容器托管实体管理器
- 这种类型的 em 只使用 JTA 事务
下面是我的代码:
@PersistenceContext(unitName = "", type = Transaction)
EntityManager em;
public void persist(T entity) {
em.persist(entity)
}
问题:执行代码时抛出异常:TransactionRequireException 为什么会出现这种异常?将@Resource UserTransaction 添加到方法persist() 后不会发生TransactionRequireException。我想知道 UserTransaction 是否属于 JTA 权利。
EntityTransaction et = em.getTransaction();
参考上面的代码,为什么JTA事务类型不能调用getTransaction()?
扩展的 JTA Transaction 可以在 EJB 之外使用吗?
- 应用程序托管实体管理器
- 利用 JTA 事务
- 利用 JDBC 事务(资源本地事务)
请任何人提供有关 JDBC 事务类型的源代码示例。