在我的时区大家下午好。
我正在开发一个使用JAVA EE6的WEB应用程序,更准确地说是使用JPA、JSF和EJB。在JSF页面中,我调用一个方法将数据保存到数据库中。在托管Bean中,我有以下方法:
@ManagedProperty(value = "#{jndi['ejb/objectEAO']}")
private ObjectEAO objectEAO;
public void save(){
...
for(Type1 type : list){
if(..){
....
objectEAO.save(type);
}
}
}
我的问题是:默认情况下保存方法是事务性的吗?如果第三次插入由于某种原因失败,是否回滚所有进程?objectEAO是一个EJB。
提前感谢。最好的祝福
EJB bean中的save()
方法是事务性的(假设CMT -容器管理事务),而不是JSF管理bean中的方法。因此,如果一个插入失败,它将只回滚该操作,而不会影响先前的插入。