我的时区下午好。
我正在开发一个使用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。
提前致谢。 最好的问候
答案 0 :(得分:2)
save()
方法是事务性的(假设CMT - 容器管理事务),而不是JSF托管bean中的方法。因此,如果一个插入失败,它将仅回滚那一个操作,而不会影响先前的插入。