我遇到了 No Persistence provider for EntityManager
异常,并且无法找出导致该异常的原因。这是我的配置文件:
Persistence.xml(存储在src/META-INF
中)
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="HatifimJPA" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>entities.HatUser</class>
<properties>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
<property name="hibernate.connection.username" value="Benny" />
<property name="hibernate.connection.password" value="oracle" />
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
</properties>
</persistence-unit>
</persistence>
异常(exception):
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named HatifimJPA at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at testing.TestClass.main(TestClass.java:16)
唯一的区别是我试图将 EntityManager
放入 public void main(...) { ... }
block 中,但是,我不这样做我不记得过去这样做时遇到过问题。
谁能帮忙指出我的问题可能出在哪里?
最佳答案
尝试将 persistence.xml 放入 src/main/resources/META-INF/ 并将此代码放入 main 方法中:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("HatifimJPA");
EntityManager em = emf.createEntityManager();
关于hibernate - EntityManager Hibernate 没有持久性提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107208/