【发布时间】:2020-10-20 03:32:25
【问题描述】:
Hibernate 环境无法识别使用 hibernate-types 库中的 @TypeDef 注释创建的自定义类型。
为 MyEntity 生成的审核表使用 varchar 类型作为状态字段(实体表中的枚举状态类型)。将“字符串”字段添加到实体后,出现以下异常:
org.hibernate.MappingException:无法确定类型:字符串数组,在表:_aud,列...
@Entity
@Audited
@TypeDefs(
TypeDef(name = "pgsql_enum", typeClass = PostgreSQLEnumType::class),
TypeDef(name = "string_array", typeClass = StringArrayType::class)
)
class MyEntity {
@Enumerated(EnumType.STRING)
@Column(columnDefinition = "status")
@Type(type = "pgsql_enum")
var status: Status? = null
@Type(type = "string_array")
private var strings: MutableSet<String> = mutableSetOf()
}
我已经尝试使用 package-info.java 文件在包级别定义 @TypeDefs,但这没有帮助。
【问题讨论】:
标签: hibernate spring-data-jpa hibernate-envers hibernate-types