2013-07-10 180 views
2

使用JBoss Envers(4.2.0 FINAL)註釋,但未能在嘗試審計@Enumerated財產休眠envers枚舉審計例外

@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中10 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)

...

回答

2

檢查你的pom文件,確保hibernate-entitymanager,hibernate-core和hibernate-envers在同一個版本上。這是一個兼容性問題。

+0

謝謝它的工作,在確保它們都是4.2.0之後,我的hibernate依賴關係存在兼容性問題。最終版本一切正常。 – Kai