是否可以在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,请帮助我。 提前谢谢
答案 0 :(得分:1)
不,主要版本往往包括API和SPI更改,这会破坏Hibernate与其姐妹项目和第三方项目之间的集成。
因此,如果您需要使用Envers 4.2,唯一支持的策略是将Hibernate升级到4.2。