如何在 java SE 应用程序中使用 JPA EntityManager

How to use JPA EntityManager in java SE applications

我正在开发 java SE 应用程序,我想使用 JPA EntityManager 来管理数据库操作。从我的搜索中,我发现需要制作一个 persistence.xml 文件。但我不知道我应该把它放在哪里。我的搜索结果说它应该放在 webRoot\META-INF 中,但我的项目不是 J2EE 项目,所以它没有 webRoot 或 META-INF 目录。这是我获取实体管理器的代码:

 private static EntityManagerFactory factory = Persistence.createEntityManagerFactory("unitName");
 protected EntityManager entityManager =  entityManager = factory.createEntityManager();

但这总是会导致 javax.persistence.PersistenceException 异常并且 return 我收到这条消息:

No Persistence provider for EntityManager named unitName

我该如何解决这个问题?

感谢您的关注。

首先,您可以像这样创建一个文件 META-INF:

但是如果您使用的是 Netbeans,那么当您从数据库创建实体类时,该文件夹将自动创建,您可以试试。

祝你好运。

由于您使用的是 Hibernate,因此您可以看到它的 Tutorial Using the Java Persistence API (JPA):

In Java™ SE environments the persistence provider (Hibernate in this case) is required to locate all JPA configuration files by classpath lookup of the META-INF/persistence.xml resource name.

把persistence.xml放到

  • ./src/main/resources/META-INF/persistence.xml 如果你使用 maven。
  • ./src/META-INF/persistence.xml 如果你不用maven.

完成后,上面的教程还告诉您如何配置以下内容并逐步使用JPA。如果您需要任何持久性模板,请勾选 here