Hibernate envers无法识别使用hibernate-types库中的@TypeDef注释创建的自定义类型。
为MyEntity生成的审核表正在使用状态字段的可变字符类型(实体表中的枚举状态类型)。在实体中添加了“string”字段后,我得到了以下异常:
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,但是没有帮助。
发布于 2020-08-25 09:32:34
尝试在@Type和@TypeDef中将"string_array“更改为"string-array”。
当我尝试使用JsonBinaryType时,我遇到了这个问题,我得到了同样的异常。我将@TypeDef中的名称设置为"json",但不知什么原因,Envers正在寻找一个名为"jsonb“的名称。在您的示例中,Envers正在查找名为"string-array“的类型。
https://stackoverflow.com/questions/62647125
复制相似问题