2012-05-07 57 views
0

AFAIK,有兩種類型的實體經理。 1.容器管理的實體管理 2.應用程序管理的實體管理實體經理類型和關聯交易

  1. 容器管理的實體管理
    • 這種類型的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事務可以在EJB之外使用嗎?

  1. 應用管理的實體管理
    • 利用JTA事務
    • 利用JDBC事務(資源本地事務)

請人提供例如對JDBC事務類型的源代碼。

回答