我有一个使用实体管理器的swing桌面应用程序,但是当这个应用程序同时执行多次时,不同的实体管理器拥有其他人修改过的旧数据,这种更改直到下一个实体管理器.如何在任何时候实体管理器与数据库数据同步??
发布于 2009-10-27 17:46:30
EntityManager实例不应该长时间保存;相反,每个实例都应该用于工作单位,然后丢弃。
EntityManager
也就是说,EntityManager有一个refresh()方法,您可以调用它从数据库中重新加载特定实体的状态。
refresh()
它还有一个clear()方法,它将彻底清除“旧”数据的持久性上下文。但是,您需要小心处理它--在没有clear()的情况下调用flush()将丢弃所有挂起的更新。
clear()
flush()
https://stackoverflow.com/questions/1632299
相似问题