【问题标题】:Hibernate TypeBootstrapContext not found未找到休眠 TypeBootstrapContext
【发布时间】:2021-09-08 18:03:40
【问题描述】:

我正在尝试将 java 枚举映射到 Spring 应用程序中的 PostgreSQL 枚举。我正在做与 Vlad 在他的 tutorial 中所做的完全相同的事情(将 Java 枚举映射到特定于数据库的枚举列类型部分)。

所以我导入了hibernate-types-55 artefact,添加了

@TypeDef(
   name = "pgsql_enum",
   typeClass = PostgreSQLEnumType.class
)

在实体类之上,添加

@Enumerated(EnumType.STRING)
@Column(name = "column_name",
        columnDefinition = "some_enum",
        nullable = false)
@Type( type = "pgsql_enum" )
private SomeEnum someProperty;

最后添加了一个新创建的数据库枚举列,其中值与枚举中的值对应

但我得到了

java.lang.ClassNotFoundException: org.hibernate.type.spi.TypeBootstrapContext from

尝试使用 Wildfly 启动应用程序时。 整个 maven 构建成功完成,所有测试都通过了,所以一切看起来都很好,但是这个导致应用程序无法在服务器上启动的异常。

我使用的Hibernate核心版本是5.2.10.Final

【问题讨论】:

    标签: spring postgresql hibernate spring-data-jpa spring-data


    【解决方案1】:

    我已经导入了 hibernate-types-55 人工制品

    正如documentation 中所述,您应该使用:

    <dependency>
        <groupId>com.vladmihalcea</groupId>
        <artifactId>hibernate-types-52</artifactId>
        <version>2.12.0</version>
    </dependency>
    

    用于 Hibernate 5.2 分支。

    【讨论】: