Ermöglicht die Konfiguration im Ruhezustand 3.5.5 mithilfe von Spring

  • Wir haben also eine Spring-Datei, also verwenden wir Hibernate-3.5.5

    class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" & gt;

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

    p>

    Wenn ich die Anwendung starte, erhalte ich den Fehler. HibernateException konnte keine Listener initiieren. Nach dem weiteren Debuggen kommt der Fehler von der AuditConfiguration-Klasse:

    AudiConfiguration (Konfiguration C) {

    Eigenschaften properties = cfg.getProperties ();

    ReflectionManager reflectionManager = ((AnnotationConfiguration) cfg) .getReflectionManager (); Fehler bei classCastException cfg ist keine Instanz von AnnotationConfiguration.

    Was könnte ich falsch machen?

    22 November 2011
    trinity
1 answer
  • Der Grund dafür war, dass die Konfiguration im Konstruktor von AuditConfiguration in AnnotationConfiguration umgewandelt wurde. Das Spring Context Snippet scheint das Problem gelöst zu haben.

     <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>
     
    22 November 2011
    trinity