我有以下情形,如何在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查詢得到了打印 –