Using JBoss Envers (4.2.0 FINAL) annotation but failed when try to audit @Enumerated property
@Entity
@Audited
public class TestEntity extends AbstractEntity {
@Column(name="status")
@Enumerated(EnumType.STRING)
private StatusEnum status;
public enum StatusEnum {
ACTIVE, INACTIVE, DELETED
}
}
And also in entityManager setting the "hibernate.hbm2ddl.auto" is "update" When the application startup exceptions below showed:
Caused by: java.lang.ClassCastException: org.hibernate.mapping.SimpleValue$ParameterTypeImpl cannot be cast to java.lang.String at org.hibernate.envers.configuration.metadata.BasicMetadataGenerator.addBasic(BasicMetadataGenerator.java:70) at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addValueInFirstPass(AuditMetadataGenerator.java:176) at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addValue(AuditMetadataGenerator.java:242) at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addProperties(AuditMetadataGenerator.java:258) at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateFirstPass(AuditMetadataGenerator.java:494)
...
Check your pom file, make sure that hibernate-entitymanager, hibernate-core, and hibernate-envers are on the same version. It is a compatibility issue.