【问题标题】:Envers configuration in hibernate 3.5.5 using Spring使用 Spring 在休眠 3.5.5 中进行 Envers 配置
【发布时间】:2011-11-22 01:07:02
【问题描述】:

所以我们有一个 Spring 文件,所以我们使用的是 Hibernate-3.5.5

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<value>Run.hbm.xml

</value>

<prop key="hibernate.dialect">${dialect}</prop>

<prop key="hibernate.cache.provider_class">

 <!--  org.hibernate.cache.ehcacheprovider-->

 net.sf.ehcache.hibernate.EhCacheProvider

</prop>

<prop key="hibernate.cache.use_query_cache">true</prop>

<prop key="hibernate.cache.use_second_level_cache">

 true

</prop>

<prop key="hibernate.show_sql">false</prop>

<prop key="hibernate.connection.autocommit">false</prop>

<prop key="hibernate.format_sql">false</prop>

<prop key="hibernate.connection.release_mode">on_close</prop>

<prop key="hibernate.generate_statistics">false</prop>



<prop key="hibernate.hbm2ddl.auto">update</prop>

         <prop key="org.hibernate.envers.audit_table_suffix">_Audit</prop>

         <prop key="org.hibernate.envers.revision_field_name">REV</prop>

         <prop key="org.hibernate.envers.revision_type_field_name">REVTYPE</prop>

         <prop key="org.hibernate.envers.default_schema">SQN_OWN</prop>

            <prop key="org.hibernate.envers.revision_on_collection_change">false</prop>

<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>

当我启动应用程序时,我收到错误 HibernateException could not init listeners。进一步调试后,错误来自 AuditConfiguration 类:

AudiConfiguration(配置 C){

属性属性 = cfg.getProperties();

ReflectionManager 反射管理器 = ((AnnotationConfiguration) cfg).getReflectionManager(); classCastException cfg 失败不是 AnnotationConfiguration 的实例 ..

我可能做错了什么?

【问题讨论】:

    标签: hibernate


    【解决方案1】:

    原因是在 AuditConfiguration 的构造函数中,配置类型转换为 注释配置。使用这个spring context sn-p,问题似乎解决了。

    <bean id="sessionFactory"
    
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    
        <property name="namingStrategy">
            <ref bean="namingStrategy" />
        </property>
        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2014-03-21
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      相关资源
      最近更新 更多