使用hibernate envers 4.2和hibernate 3.5.5

时间:2014-09-02 05:08:04

标签: spring hibernate spring-mvc hibernate-envers

是否可以在hibernate 3.5.5中使用hibernate envers 4.2因为我必须使用envers 4.2的一些功能但是由于某些限制我无法升级我的hibernate核心版本。    我正在使用带有弹簧3.2的hibernate 3.5.5,以下是我的配置文件。

 <bean
        id="TransactionalSessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
        <property name="dataSource" ref="TransactionalDataSource" />
         <property name="hibernateProperties" >
            <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
                <!-- <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> -->
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.connection.autocommit">false</prop>
            </props>
        </property>
        <property name="eventListeners">
           <map>
           <entry key="post-insert">
             <bean class="org.hibernate.envers.event.AuditEventListener" />
           </entry>
            <entry key="post-update">
             <bean class="org.hibernate.envers.event.AuditEventListener" />
           </entry>
            <entry key="post-delete">
             <bean class="org.hibernate.envers.event.AuditEventListener" />
           </entry>
            <entry key="pre-collection-update">
             <bean class="org.hibernate.envers.event.AuditEventListener" />
           </entry>
            <entry key="pre-collection-remove">
             <bean class="org.hibernate.envers.event.AuditEventListener" />
           </entry>
            <entry key="post-collection-recreate">
             <bean class="org.hibernate.envers.event.AuditEventListener" />
           </entry>  
           </map>
        </property>
        <property name="annotatedClasses" >
            <list>
                <value>x.y.z.LocDtls</value>
                <value>x.y.z.AnnotatedTrackingRevisionEntity</value>
           </list>
        </property>
     </bean> 

在部署期间,它给了我以下错误。

Caused by: java.lang.ArrayStoreException: org.hibernate.envers.event.AuditEventListener

如果有人使用hibernate模板使用hibernate envers,请帮助我。 提前谢谢

1 个答案:

答案 0 :(得分:1)

不,主要版本往往包括API和SPI更改,这会破坏Hibernate与其姐妹项目和第三方项目之间的集成。

因此,如果您需要使用Envers 4.2,唯一支持的策略是将Hibernate升级到4.2。