【问题标题】:sync entitymanager from database从数据库同步实体管理器
【发布时间】:2009-10-27 17:09:59
【问题描述】:

我有一个使用 entitymanagerfactory 的摇摆桌面应用程序,但是当这个应用程序同时执行多次时,不同的实体管理器有旧数据被其他人修改,并且这些更改在下一个 entitymanagerfactory 之前不会可见。 .. 实体管理器如何随时与数据库数据同步??

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    EntityManager 实例不应被长时间持有;相反,每个都应该用于unit of work,然后丢弃。

    也就是说,EntityManager 有一个 refresh() 方法,您可以调用该方法从数据库中重新加载特定实体的状态。

    它还有一个clear() 方法,可以完全清除“旧”数据的持久性上下文。不过,您需要小心 - 调用 clear() 而不使用 flush() 将丢弃所有待处理的更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-23
      • 2012-01-28
      • 2023-02-08
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 2020-07-01
      相关资源
      最近更新 更多