【问题标题】:How to recreate EntityManagerFactory between tests如何在测试之间重新创建 EntityManagerFactory
【发布时间】:2019-08-30 16:03:31
【问题描述】:

我需要在测试之间重新创建 EntityManagerFactory 以确保我的序列在 JPA 序列生成器中被重置以匹配数据库。

我需要重新创建 EMF,或者根据当前设置重新连接到数据源。

虽然 spring-boot 使用名为 'default' 的 EMF 运行,但从

再次创建它
Persistence.createEntityManagerFactory("default");

失败了

javax.persistence.PersistenceException: No Persistence provider for EntityManager named default

即使那是我的 Spring Boot 的创建者。

我在这里缺少一件简单的事情吗?

【问题讨论】:

  • 您是否在 pom.xml 文件中包含了 hibernate-entitymanager 或 hibernate-core 依赖项?
  • 嗨,不 - 我正在使用 spring-boots 瞬态休眠依赖项。我在 Maven 上找不到休眠实体管理器?
  • 我认为你应该添加它。我认为 Hibernate-enititymanager 已被弃用。它的新“版本”是休眠核心。

标签: java spring-boot jpa entitymanager


【解决方案1】:

尝试将其添加到您的 pom.xml:

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.3.Final</version>
</dependency>

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2022-01-04
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    相关资源
    最近更新 更多