何时用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)。 –