【问题标题】:Extended persistence context type with JPA 2 & Hibernate使用 JPA 2 和 Hibernate 的扩展持久性上下文类型
【发布时间】:2011-01-10 17:02:29
【问题描述】:

我知道扩展的持久性上下文会持续对话的持续时间,或者直到有状态会话 bean 的 @Remove 方法完成时容器关闭持久性上下文(或者 stateful session bean 实例被销毁)。

现在显然,当 bean 被销毁时,持久性上下文也将在 JPA 2/Hibernate 中关闭,但是在 JPA 2/Hibernate 中是否有 @Remove 的推论?

另外,在使用扩展持久性上下文时,是否有任何陷阱需要牢记?

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    JPA/Hibernate 是持久性技术。他们不处理会话(实体管理器)管理。它们提供实体管理器并让其他技术管理它。

    • 手动 - 打开和关闭实体管理器
    • EJB3 - 正如您所提到的
    • CDI、spring、guice 等依赖注入框架。

    PersistenceContextType.EXTENDED 应该由注入EntityManager 的框架处理,其中@PersistenceContext 存在。这不能仅是 JPA/Hibernate。

    【讨论】:

    • 1.一般来说 - 通过代理。 2. 可以,但最好不要。它再次取决于实现是否会失败、报告问题并继续,或者静默继续。
    猜你喜欢
    • 2016-05-02
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 2012-12-04
    • 1970-01-01
    相关资源
    最近更新 更多