使用JBoss Envers(4.2.0 FINAL)注释但在尝试审核@Enumerated属性时失败
@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”是“更新” 当下面的应用程序启动异常显示:
引起:java.lang.ClassCastException: org.hibernate.mapping.SimpleValue $ ParameterTypeImpl无法强制转换为 java.lang.String at org.hibernate.envers.configuration.metadata.BasicMetadataGenerator.addBasic(BasicMetadataGenerator.java:70) 在 org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addValueInFirstPass(AuditMetadataGenerator.java:176) 在 org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addValue(AuditMetadataGenerator.java:242) 在 org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addProperties(AuditMetadataGenerator.java:258) 在 org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateFirstPass(AuditMetadataGenerator.java:494)
...
答案 0 :(得分:2)
检查你的pom文件,确保hibernate-entitymanager,hibernate-core和hibernate-envers在同一个版本上。这是一个兼容性问题。