Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 没有名为foo的EntityManager的持久性提供程序_Java_Jpa_Ejb_Entitymanager - Fatal编程技术网

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

Java 没有名为foo的EntityManager的持久性提供程序,java,jpa,ejb,entitymanager,Java,Jpa,Ejb,Entitymanager,是的,我已经在这里搜索了这个问题,但是在研究之后我遇到了这个问题 因此,我正在创建一个简单的独立项目,只包含实体和DAO。 我在用IntelliJ 编辑:我的数据库连接信息是好的,我肯定。我有另一个项目GWT,我使用相同的方法->它可以工作 我的META-INF文件夹位于根src文件夹中,因此这是我的persistence.xml: `<persistence-unit name="jpa"> <!--<provider>org.eclipse.persis

是的,我已经在这里搜索了这个问题,但是在研究之后我遇到了这个问题

因此,我正在创建一个简单的独立项目,只包含实体和DAO。 我在用IntelliJ

编辑:我的数据库连接信息是好的,我肯定。我有另一个项目GWT,我使用相同的方法->它可以工作

我的META-INF文件夹位于根src文件夹中,因此这是我的persistence.xml:

`<persistence-unit name="jpa">
    <!--<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>-->
    <class>ejbpersistance.entities.User</class>
    <class>ejbpersistance.entities.Comment</class>
    <class>ejbpersistance.entities.Article</class>
    <properties>
        <property  name="javax.persistence.jdbc.url"  value="jdbc:mysql://localhost:3306/ejb"/>
        <property  name="javax.persistence.jdbc.user"  value="root"/>
        <property  name="javax.persistence.jdbc.password"  value="root"/>
        <property  name="javax.persistence.jdbc.driver"  value="com.mysql.jdbc.Driver"/>
    </properties>
</persistence-unit>`
我尝试使用Hibernate提供程序、Eclipse提供程序,但总是遇到这个问题。
有人能帮我吗?如果我错过了关于这个问题的另一个主题,我为时间损失道歉。

这里的问题是持久化单元的位置

检查persistence.xml是否在类路径中: 如果是非Java EE应用程序J2SE

META-INF目录包含persistence.xml的jar文件或目录 文件被称为持久化单元的根。请检查IDE中的类路径位置,Eclipse:Project Properties->Java Build Path->***

检查hibernate提供程序是否在类路径中 一旦您可以尝试取消对P.xml文件中的提供者行的注释 org.eclipse.persistence.jpa.PersistenceProvider->

谢谢

确保persistence.xml位于META-INF目录中,并且类路径包括META-INF父目录

您也没有显示完整的persistence.xml。周围的标记必须包含正确的命名空间,例如

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence">
...
</persistence>

类路径上有JPA实现吗?应用程序类路径上的Hibernate JAR、EclipseLink JAR、OpenJPA JAR?我正在使用Maven和yes->Hibernate实现然后持久性提供程序应该是org.Hibernate.ejb.HibernatePersistence,但据我所知,这甚至不是必需的。发布stacktrace以获得更好的帮助我已经清理了我对Maven的依赖并添加了OpenJPA。然后,将我的持久化单元名称更改为EJBJPA。现在,错误发生在!我的刀有点不对劲。。。。。
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence">
...
</persistence>