如何在JavaSE应用程序中使用JPA EntityManager
我正在开发一个JavaSE应用程序,我想使用JPA EntityManager来管理数据库操作。通过搜索,我发现需要创建一个如何在JavaSE应用程序中使用JPA EntityManager,java,hibernate,jpa,entitymanager,Java,Hibernate,Jpa,Entitymanager,我正在开发一个JavaSE应用程序,我想使用JPA EntityManager来管理数据库操作。通过搜索,我发现需要创建一个persistence.xml文件。但我不知道该把它放在哪里。我的搜索结果显示它应该放在webRoot\META-INF中,但我的项目它不是J2EE项目,所以它没有webRoot或META-INF目录。以下是获取实体管理器的代码: private static EntityManagerFactory factory = Persistence.createEntityM
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
异常,并返回以下消息:
No Persistence provider for EntityManager named unitName
我怎样才能解决这个问题
感谢您的关注。首先,您可以创建这样的META-INF文件: 但如果您使用的是Netbeans,那么当您从数据库创建实体类时,该文件夹将自动创建,您可以尝试这样做
祝你好运。因为你正在使用Hibernate,你可以看到它的: 在爪哇™ SE环境持久性提供程序(本例中为Hibernate)需要通过META-INF/persistence.xml资源名称的类路径查找来定位所有JPA配置文件 将persistence.xml放到
如果您使用maven/src/main/resources/META-INF/persistence.xml
如果不使用maven/src/META-INF/persistence.xml
完成后,上面的教程还将告诉您如何配置以下内容并逐步使用JPA。检查您是否需要任何持久性模板。JPA规范说的只是META-INF,所以从类路径的根目录将其放入META-INF中。谢谢。解决方案
从数据库创建实体类
解决了我的问题。但是,没有persistence.xml的实体管理器是否可以使用呢?我认为没有persistence.xml的JPA或Hibernet是不可能使用的