【问题标题】:JPA Entity Manager Lifecycle pattern in VaadinVaadin 中的 JPA 实体管理器生命周期模式
【发布时间】:2014-11-30 23:41:15
【问题描述】:

我正在实现一个与数据库连接的 Vaadin Web 应用程序(使用 jpa hibernate)。该应用程序看起来像 java-swing,但在网络中。

我想知道如何处理 JPA Entity Manager 生命周期的最佳实践。

book of vaadin 显式告诉您使用 EntityManager-per-Request。

不过,我有 seen others 提倡使用 Entity-per-session,等等。

我的问题是:最佳做法是什么?每种选择的优缺点是什么?

【问题讨论】:

    标签: java hibernate jpa vaadin


    【解决方案1】:

    根据 JPA 最佳实践,不应“重用”EntityManager (EM)。为每个请求创建一个并不昂贵。

    如果您在每个会话中使用一个 EM,则需要注意是否要在每个请求结束时从持久性上下文中删除每个实体。如果不从持久化上下文中移除实体,EM 会占用大量内存。

    如果 Vaadin 有一种自动方法可以在每个会话中处理一个 EM,请继续使用它。如果您需要实现它,我认为最好的方法是每个请求一个 EM。

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多