@PersistenceUnit 注释不起作用
我想在我的应用程序中使用 @PersistenceUnit 注释来创建应用程序管理的 EntityManager
@PersistenceUnit(unitName="primary")
private static EntityManagerFactory entityManagerFactory;
EntityManager entityManager = entityManagerFactory.createEntityManager();
这似乎不起作用。我通过调试器运行我的代码,发现entityManagerFactory 为空。我的猜测是,使用 @PersistenceUnit 注释注入 Persistence 上下文不起作用。
我的应用程序是 CDI 应用程序。它以前不是 CDI 应用程序 - 我通过在 WEB-INF 中创建 beans.xml 文件将其转换为 CDI,我需要这样做才能执行类似的操作。
我需要在 CDI 中配置什么才能使注释正常工作吗?谢谢。
I want to use the @PersistenceUnit annotation in my app to create an application managed EntityManager
@PersistenceUnit(unitName="primary")
private static EntityManagerFactory entityManagerFactory;
EntityManager entityManager = entityManagerFactory.createEntityManager();
This doesn't seem to be working. I run my code through a debugger and discover that entityManagerFactory is null. My guess is that the injection of Persistence context with the @PersistenceUnit annotation is not working.
My app is a CDI app. It was not previously a CDI application - I converted it to CDI by creating a beans.xml file in WEB-INF, I needed to in order to do something like this.
Is there anything I need to configure within CDI to get the annotation to work? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我有一个仅使用 Java SE 运行的 JPA 应用程序。我没有 WEB-INF/beans.xml,但我有 META-INF/persistence.xml 配置文件:
Container
和Item
是两个持久性我的jpa
包中的类。这是由 Netbeans 自动生成的。官方 (Sun/Oracle) Java EE 教程的持久性章节中还有一些有关在没有 Java EE 的情况下使用 JPA 的信息。
I have a JPA application running with only Java SE. I don't have a WEB-INF/beans.xml, but I do have a META-INF/persistence.xml configuration file:
Container
andItem
are the two persistence classes in myjpa
package.This was generated automatically by Netbeans. There is also some information about using JPA without Java EE in the official (Sun/Oracle) Java EE tutorial in the persistence chapter.