【发布时间】:2011-09-20 21:05:27
【问题描述】:
我想在我的应用程序中使用@PersistenceUnit 注解来创建应用程序托管的EntityManager
@PersistenceUnit(unitName="primary")
private static EntityManagerFactory entityManagerFactory;
EntityManager entityManager = entityManagerFactory.createEntityManager();
这似乎不起作用。我通过调试器运行我的代码,发现 entityManagerFactory 为空。我的猜测是使用 @PersistenceUnit 注释注入持久性上下文不起作用。
我的应用是 CDI 应用。它以前不是 CDI 应用程序 - 我通过在 WEB-INF 中创建 beans.xml 文件将其转换为 CDI,我需要这样做才能执行此类操作。
我需要在 CDI 中配置什么以使注释正常工作吗?谢谢。
【问题讨论】:
-
你用的是应用服务器,还是tomcat?
-
我正在使用 JBoss 7。这是一个由 Maven 部署的基本 struts hibernate 项目。我只是添加 CDI 以使此注释正常工作。
-
我不确定@PersistenceUnit 是否适用于静态字段。我从来没有尝试过。似乎这不是一个好主意。
标签: java hibernate jpa persistence cdi