EntityManager的flush()方法什么时候返回?
我正在使用 EntityManager 将数据保存到我的数据库中。
public void save(X x){
entityManager.persist(x);
entityManager.flush();
triggerDataChange();
}
刷新数据后,我调用triggerDataChange() 方法将消息发送到取决于新写入的数据的外部组件。
问题:我可以依赖数据成功写入数据库后返回的flush方法吗?
感谢您的帮助。
I'm using the EntityManager to persist data into my database.
public void save(X x){
entityManager.persist(x);
entityManager.flush();
triggerDataChange();
}
After flushing the data I call the triggerDataChange() Method to send a message to an external component which depends on the newly written data.
Question: Can I rely on the flush method returning after the data has been written to database successfully?
Thanks for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的事务是相同的,因此即使事务回滚,它也会完全回滚。 Flush 不会提交事务,因为它仍然可以回滚。因此,在您的实施中,您所做的一切都很好。
Your transaction is same so even if the transaction rolls back it rolls back completely. Flush will not commit the transaction as it can be still rolled back. So In your implementation whatever you are doing is fine.