Jpa UserTransaction和EntityManager如何交互?
这是一个学术问题;我没有与此相关的错误代码。我只是想扩大我对引擎盖下发生的事情的理解 我在JPA DAO中为典型的JSF web应用程序使用的代码模式(从书籍和教程中复制)基本上如下:Jpa UserTransaction和EntityManager如何交互?,jpa,jsf-2,jpa-2.0,Jpa,Jsf 2,Jpa 2.0,这是一个学术问题;我没有与此相关的错误代码。我只是想扩大我对引擎盖下发生的事情的理解 我在JPA DAO中为典型的JSF web应用程序使用的代码模式(从书籍和教程中复制)基本上如下: public class someDAO { @PersistenceContext protected EntityManager em; @Resource private UserTransaction utx; public void per
public class someDAO {
@PersistenceContext protected EntityManager em;
@Resource private UserTransaction utx;
public void persist(Entity entity) {
try {
utx.begin();
em.persist(entity);
utx.commit();
} catch ( // gawd awful long list of possible exceptions )
// etc
因此,我的问题如下:
你考虑过EJB吗?EJB使用容器管理的事务。这样,您就不必担心自己管理事务(而且它使您的服务方法不受try-catch混乱的影响)。我不太介意这种代码模式,因为我已经设法将它全部限制在一个抽象的DAO对象中。我所有的具体DAO都是从一个对象扩展而来的,所以这个垃圾(如果这个词适用的话)部分几乎看不见了。但不是出于心理。