EJB之JPA(EntityManager)

EntityManager的底層可以使用JTA或RESOURCE_LOCAL類型的事務控制策略。JTA一般在容器環境中使用,而RESOURCE_LOCAL一般在J2SE的環境下使用。

比如,在J2SE的環境下,由應用程序自身來創建EntityManagerFactory,並由EntityManagerFactory創建EntityManager,通過EntityManager.getTransaction.begin()方法來開啓事務,commit()方法提交事務等等,這種方式就是RESOURCE_LOCAL的基本使用方法。

最常用的就是在容器環境下使用。也就是使用JTA類型的EntityManager,這樣,EntityManager的調用都是在一個外部的JTA事務環境下進行的。

Container-Managed EntityManager必須是JTA類型的EntityManager,而Application-Managed EntityManager則既可以是JTA類型的EntityManager,也可以是RESOURCE_LOCAL類型的EntityManager。

發佈了13 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章