【问题标题】:Java Hibernate Issue: No Persistence provider for EntityManager named BookStoreWebsiteJava Hibernate 问题:没有名为 BookStoreWebsite 的 EntityManager 的持久性提供程序
【发布时间】:2020-10-18 09:25:38
【问题描述】:

我知道这个问题已经存在了一段时间,但我尝试了大约 10 种不同的解决方案,但都没有奏效。我是 Hibernate 和 Maven 的新手,所以我有点迷茫。

我检查了持久性是否在 Meta-inf 中, 在持久化单元下添加了提供者标签, 检查库 等等……

import com.bookstore.entity.Users;

public class UsersTest {

    public static void main(String[] args) {
        Users user1 = new Users();
        user1.setEmail("pablo.the.souza@gmail.com");
        user1.setFullName("Pablo Souza");
        user1.setPassword("123456");
        
        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("BookStoreWebsite");
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        
        entityManager.getTransaction().begin();
        
        entityManager.persist(user1);
        
        entityManager.getTransaction().commit();
        entityManager.close();
        entityManagerFactory.close();
        
        System.out.println("A users object was persisted");
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
    version="2.1">

    <persistence-unit name="BookStoreWebsite">
        <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/bookstore" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="password" />
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
        </properties>
    </persistence-unit>
    
</persistence>

【问题讨论】:

标签: java hibernate maven


【解决方案1】:

我将 Hibernate 核心依赖项更改为:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>6.0.0.Alpha5</version>
  <scope>compile</scope>
  <type>pom</type>  
</dependency>

到这里:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>5.2.12.Final</version>  
</dependency>

而且它有效。不知道为什么不幸。

【讨论】:

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