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