托管豆的交易

时间:2015-07-16 15:22:55

标签: jsf jpa ejb managed-bean jta

我的时区下午好。

我正在开发一个使用JAVA EE6的WEB应用程序,更准确地说是使用JPA,JSF和EJB。在JSF页面中,我调用一个方法将数据保存到数据库中。在Managed Bean中,我有以下方法:

 @ManagedProperty(value = "#{jndi['ejb/objectEAO']}")
 private ObjectEAO objectEAO;

 public void save(){
      ...
     for(Type1 type : list){
         if(..){
             ....
            objectEAO.save(type);
          }
      }
  } 

我的问题是:    save方法默认是事务性的吗?如果第三个插入由于某种原因失败,那么所有进程是否都会回滚?    objectEAO是EJB。

提前致谢。 最好的问候

1 个答案:

答案 0 :(得分:2)

EJB bean中的

save()方法是事务性的(假设CMT - 容器管理事务),而不是JSF托管bean中的方法。因此,如果一个插入失败,它将仅回滚那一个操作,而不会影响先前的插入。