没有EntityManager的持久性提供程序名为持久性

时间:2016-11-25 20:36:23

标签: java jpa java-ee persistence

您好我需要帮助来解决这个问题。当尝试在intellij上运行我的java Web应用程序时,我收到以下消息:

  

javax.persistence.PersistenceException:没有持久性提供程序   EntityManager命名为持久性

for (int i = file_content.Count - 1; i > -1; i--)
{
   // Remove initial tabs...
   int size = 0;
   for (int j = 0; j < file_content[i].Length; j++)
   {
      if (file_content[i][j] != '\t')
      {
         break;
      }
      else
      {
         size = j + 1;
      }
   }

   if (size > 0)
   {
      file_content[i] = file_content[i].Remove(0, size);
   }
}

这是-- src |-- main | |-- java | | `-- service | | `-- dao | | `-- mapping | | |-- | | |-- | | `-- | `-- resources | `-- META-INF | `-- persistence.xml

中的persistence.xml文件
resources/META-INF/

我的gradle build

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0">
<persistence-unit name="persistence">
       <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <mapping-file>Dao/mapping/user.xml</mapping-file>
    <class>Dao.mapping.UserEntity</class>
    <properties>
        <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/test"/>
    <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
    <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/>
    <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
    <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/test"/>
    <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
    <property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/test"/>
    <property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
谢谢。

1 个答案:

答案 0 :(得分:0)

一个选项是错误是由引用的实体不存在引起的。

你在persistence.xml中有“Dao.mapping.UserEntity”,但目录显示它应该是“service.dao.mapping.UserEntity”。

完整的堆栈跟踪可以帮助解决问题。