没有持久性提供程序异常

时间:2017-02-15 09:46:28

标签: java entity-framework hibernate maven jpa

我正在使用netbeans,我选择了eclipseLink JPA2.1。

    String persistenceUnitName="mypersistence";
    EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnitName);
    FacturesJpaController fjc = new FacturesJpaController(emf);

我的持久性xml文件位于META-INF:

  <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
      <persistence-unit name="mypersistence" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>database.mapping.Approvisionement</class>
        <class>database.mapping.Categories</class>
        <class>database.mapping.Factures</class>
        <class>database.mapping.Fournisseur</class>
        <class>database.mapping.Marques</class>
        <class>database.mapping.ProduitCategorie</class>
        <class>database.mapping.ProduitMarque</class>
        <class>database.mapping.Produits</class>
        <class>database.mapping.Profiles</class>
        <class>database.mapping.Users</class>
        <class>database.mapping.Usersstate</class>
        <class>database.mapping.Vente</class>
        <properties>
          <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/piecedetachee?zeroDateTimeBehavior=convertToNull"/>
          <property name="javax.persistence.jdbc.user" value="root"/>
          <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
          <property name="javax.persistence.jdbc.password" value=""/>
          <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
        </properties>
      </persistence-unit>
    </persistence>

我的pom文件:

<dependencies>
        <dependency>
            <groupId>org.swinglabs</groupId>
            <artifactId>swing-layout</artifactId>
            <version>1.0.3</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.apis</groupId>
            <artifactId>google-api-services-gmail</artifactId>
            <version>v1-rev55-1.22.0</version>
        </dependency>
         <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>2.5.2</version>
        </dependency>
        <dependency>
            <groupId>com.luuuis</groupId>
            <artifactId>jcalendar-tz</artifactId>
            <version>1.3.3-4</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
            <version>2.5.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>javax.persistence</artifactId>
            <version>2.1.0</version>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>${basedir}/src/main/java/com/talcorp/piecedetachee/dalipiecesdetaches/icons</directory>
                <targetPath>${maven.compiler.target}/../com/talcorp/piecedetachee/dalipiecesdetaches/icons</targetPath>
            </resource>
        </resources>
    </build>
    <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>

每次运行我的应用程序时都会遇到异常:没有EntityManager的持久性提供程序名为“mypersistence”。我该怎么做才能解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:1)

添加

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.jpa</artifactId>
    <version>2.5.2</version>
</dependency>

在您的POM.xml

答案 1 :(得分:0)

在这个问题上工作了几个小时后,我决定创建一个新的maven项目,我移动了所有的课程(重构)而不更改代码,我建立然后它工作正常,不知道以前发生了什么项目文件夹,但我想是一个maven问题:也许。