在使用JPA的项目中,我通常使用

@Inject EntityManager em;

为了获得这样的物体。我看到网络上的许多代码片段改为使用:
@PersistenceContext EntityManager em;

这些选项之间有什么区别?

我的代码在JBoss EAP 6.1和Hibernate上运行。

最佳答案

@PersistenceContext是一个特定的批注,它声明对容器管理的实体管理器的依赖性。它允许您指定更多参数,例如持久性类型。当您要在有状态 session Bean的整个生命周期中维护持久性上下文时,将持久性类型设置为EXTENDED非常重要。 @PersistenceContext是JPA批注。
@Inject是CDI注释。它非常通用,可用于注入(inject)各种对象。

关于java - @Inject和@PersistenceContext有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16598318/

10-12 20:29