我的持久性xml文件就像那样
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd"
version="1.0">
<persistence-unit name="hibernateEbru">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.hibernate.business_card</class>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="2643" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/BusinessDb" />
</properties>
</persistence-unit>
</persistence>
然后我用我的代码调用它:
public class test {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("hibernateEbru");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
business_card bc = new business_card();
bc.setName("Ebru");
em.persist(bc);
em.getTransaction().commit();
em.close();
emf.close();
}
}
我收到以下错误消息:
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named hibernateEbru
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
at com.hibernate.test.main(test.java:8)
答案 0 :(得分:0)
您需要将persistence.xml文件移动到适当的位置
来自JPA规范:
persistence.xml文件定义了持久性单元。 persistence.xml file位于根目录的META-INF目录下 持久性单位。
持久性单元的根是这里的关键。
如果您是非Java EE应用程序
META-INF目录包含的jar文件或目录 persistence.xml文件被称为持久性单元的根。
如果您使用的是Java EE应用程序,则以下内容有效
在Java EE环境中,持久性单元的根必须是其中之一 以下内容:
- EJB-JAR文件
- WAR文件的WEB-INF / classes目录[80]
- WAR文件的WEB-INF / lib目录中的jar文件
- EAR库目录中的jar文件
- 应用程序客户端jar文件