使用JBoss Envers(4.2.0 FINAL)注释,但在尝试审核@枚举属性时失败
@Entity
@Audited
public class TestEntity extends AbstractEntity {
@Column(name="status")
@Enumerated(EnumType.STRING)
private StatusEnum status;
public enum StatusEnum {
ACTIVE, INACTIVE, DELETED
}
}
并且还在entityManager设置"hibernate.hbm2ddl.auto"是"update"当应用程序启动异常如下所示:
由以下原因引起:java. lang.ClassCastException:org.hibernate.map.SimpleValue$ParameterTypeImpl无法转换为java.lang.String at org.hibernate.envers.配置.metadata.BasicMetadataGenerator.addBasic(BasicMetadataGenerator.java:70)at org.hibernate.envers.配置.metadata.AuditMetadataGenerator.addValueInFirstPass(AuditMetadataGenerator.java:176)at org.hibernate.envers.配置.metadata.AuditMetadataGenerator.addValue(AuditMetadataGenerator.java:242)at org.hibernate.envers.配置.metadata.AuditMetadataGenerator.GenerateFirstPass(AuditMetadataGenerator.java:494)
...
检查您的pom文件,确保hibernate-entitymanager、hibernate-core和hibernate-envers在同一个版本上。这是一个兼容性问题。