EntityManager的flush()方法什么时候返回?

时间:2012-02-21 10:02:29

标签: java jpa ejb entitymanager

我正在使用EntityManager将数据保存到我的数据库中。

public void save(X x){
    entityManager.persist(x);
    entityManager.flush();
    triggerDataChange();
}

刷新数据后,我调用triggerDataChange()方法向外部组件发送消息,该消息取决于新写入的数据。

问题:在数据成功写入数据库之后,我可以依赖刷新方法返回吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的交易是相同的,因此即使交易回滚,它也会完全回滚。 Flush不会提交事务,因为它仍然可以回滚。所以在你的实现中,无论你做什么都没关系。