我有以下情形,如何在EJB中提交事务?
public void someEjbMethod1()
{
for (int i=0; i=10; i++)
{
em.merge(arr[i]);
em.flush();
}
}
我需要单独合并的(arr[i]
)的每个对象。因为上面的代码将在函数结尾提交所有arr[i]
实例。
我想做到以下几点:
public void someEjbMethod1()
{
for (int i=0; i=10; i++)
{
saveObj(arr[i]);
}
}
// should I use a transaction attribute here??
public void saveObj(SomeObject obj)
{
em.merge(arr[i]);
em.flush();
}
我做了你在OC4J上说的确切内容,但仍然不起作用 –
你是什么意思的“仍然不工作”?每次调用或其他事务都会导致事务创建失败?另外,考虑启用JTA协调器的更精细的调试;您将能够确定新交易是否正在开始。 –
我的意思是,数据库不会在'saveObj'的每个出口得到更新,但是在应用服务器日志中,更新sql查询得到了打印 –