何時用JPA(EclipseLink 2.0)提交事務?何時交易JEE JPA(EclipseLink 2.0)?
這是我的問題:
public void methodA()
{
while(something)
{
methodB();
}
}
public void methodB()
{
//Insert new client into Client table.
}
比方說,這需要10分鐘methodA
完成。如果我偷看數據庫的客戶端表,而methodA
運行,我看不到任何行。這意味着在methodB
結束後,該事務未提交。但是如果我等到methodA
完成,那麼客戶端就會出現在數據庫中。
我希望每個交易在methodB
結束後提交。我怎樣才能做到這一點?
編輯:我希望應用程序容器(Glassfish)負責「提交」。我不想通過調用實體管理器來做到這一點。我正在尋找諸如methodB()
以上的註釋。這兩種方法都在單例bean中。
去哪裏你把你的交易的定義/劃分?很明顯,任何人都可以調用em.getTransaction()並在使用本地事務時提交它, –
我不想自己犯。我想要應用程序容器來照顧它(Glassfish 3.1.2.2)。 –