【问题标题】:Spring Boot 2.1 missing multiple org.hibernate.jpa.event classesSpring Boot 2.1 缺少多个 org.hibernate.jpa.event 类
【发布时间】:2018-11-05 14:20:12
【问题描述】:

我刚刚尝试将我的一个项目从 Spring Boot 2.0.6 升级到 2.1,现在我的 JPA 注释集成器类中缺少一些包,即:

import org.hibernate.jpa.event.internal.core.JpaPostDeleteEventListener;
import org.hibernate.jpa.event.internal.core.JpaPostInsertEventListener;
import org.hibernate.jpa.event.internal.core.JpaPostLoadEventListener;
import org.hibernate.jpa.event.internal.core.JpaPostUpdateEventListener;
import org.hibernate.jpa.event.internal.jpa.CallbackBuilderLegacyImpl;
import org.hibernate.jpa.event.internal.jpa.CallbackRegistryImpl;
import org.hibernate.jpa.event.spi.jpa.CallbackBuilder;
import org.hibernate.jpa.event.spi.jpa.ListenerFactory;
import org.hibernate.jpa.event.spi.jpa.ListenerFactoryBuilder;

这些不再可用,还是现在只需要从单独的依赖项中提取?

编辑

看起来实体管理器模块已合并到 Hibernate 的核心模块中,但这些类不再存在(我确实使用了该依赖项,并且某些事件包结构仍然存在)。我想我可能别无选择留在 2.0.6 ...

顺便说一句,Val Blant 在这篇文章中的解决方案是有问题的课程:

Hibernate @PostLoad never gets invoked

谢谢!

【问题讨论】:

  • 不确定使用来自第三方 internal 包的类是否是个好主意。
  • 我在想也许 Spring 项目删除了这个特定的休眠依赖项/包,但只需将有问题的包添加到 POM.xml 文件中即可再次拉取它。这个类所做的只是允许我在我的实体中使用 PostLoad 之类的注释来计算加载实体时的一些瞬态值。

标签: java hibernate spring-boot jpa integrator


【解决方案1】:

好吧,通过反复试验,我发现最后一个仍然包含这些类的 hibernate-entitymanager 包是这个:

<dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.1.16.Final</version>
    </dependency>

我将它添加到我的 POM.xml 文件中,并且在使用 Spring-Boot 2.1 时一切正常。我只是希望这不会对其他任何事情产生任何负面影响,但到目前为止一切似乎都很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2016-02-14
    • 2023-02-10
    • 2022-01-22
    • 2018-05-21
    相关资源
    最近更新 更多