【问题标题】:No Persistence provider for EntityManager in JPA, Maven, HibernateJPA、Maven、Hibernate 中的 EntityManager 没有持久性提供程序
【发布时间】:2019-01-16 01:49:52
【问题描述】:

我目前是 Maven 新手,并且像往常一样陷入了一个非常小的错误。 我正在为我的项目使用 Netbeans IDE。 因此,我创建了一个简单的 java 项目,它尝试使用 maven 在 Mysql 中连接并创建一个表。在其他编码人员也提出的类似问题中,我还浏览了此处可用的所有解决方案(Stack overFlow),但没有一个对我有帮助。

现在,每当我运行我的项目时,它都会显示以下错误:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named JPA.student
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at JPA.App.main(App.java:20)

这是我的 Persistence.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

<persistence-unit name="com.mycompany.mavenjava.java" transaction-type="RESOURCE_LOCAL">  
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <class>JPA.student</class>

    <properties>
        <property name="hibernate.archive.autodetection" value="class" />

        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
        <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/vikas" />
        <property name="hibernate.connection.user" value="vikas" />
        <property name="hibernate.connection.password" value="Vikas@137" />
        <property name="hibernate.hbm2ddl.auto" value="create"/>

        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
        <property name="use_sql_comments" value="true" />

    </properties>
</persistence-unit>

这是我的 pom.xml 文件:

   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.mavenJava</groupId>
    <artifactId>JPA</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.4</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.3.3.Final</version>
        </dependency>
         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.3.3.Final</version>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
</project>

您的重要帮助将非常宝贵。 提前致谢。

【问题讨论】:

  • 使用什么服务器?,你是如何运行应用程序的?
  • @rekiem87 这是一个简单的 java 项目,包含 maven、JPA 和 hibernate。所以我直接从 IDE 顶部的简单运行按钮运行它。它不是我需要服务器的网络应用程序。
  • 好的,那么,当您运行应用程序时,Maven 输出是什么?构建应该将所有 pom 库导入到您的项目中
  • @rakiem87 maven 输出工作正常。它给出了“建立成功”。那么还有什么我应该寻找的吗?
  • @rakiem87 现在没问题!我更新了帖子,问题解决了。阅读帖子了解更多信息。感谢您的帮助。

标签: java hibernate maven jpa


【解决方案1】:

问题已解决。
我才知道我已将所有 Java 文件保存在 src/main/java/FOLDERNAME 内的不同目录中,而我应该将它们保存在持久单元标记中声明的目录中(在 persistence.xml 文件中找到)。所以我做了那个改变,然后它起作用了!现在所有 java 文件都在目录中:
JPA/src/main/java/com/mycompany/mavenjava/jpa/(Java 文件)

组 ID:com.mycompany.mavenjava
工件 ID:JPA

此目录是在项目创建期间通过组合 group-Id 名称和 artifact-Id 名称创建的。 但无论如何它奏效了!在这个小错误中,我几乎被困了 5 个多小时。此类错误大多出现在新手身上,因为他们对 maven 框架没有任何经验,而我也是其中之一。

【讨论】:

    猜你喜欢
    • 2014-12-15
    • 2012-11-03
    • 1970-01-01
    • 2016-11-04
    • 2012-06-21
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多