Spring and Envers
patelm Jul 3, 2009 5:42 AMHi there,
Please forgive me if this post has existed before but i have been trauing the net for the past week trying to find an answer. :)
I am using spring 2.5.6 , hibernate 3.3 and have been trying to integrate Hibernate Enver 1.2.0 into my app.
It seems that i get the tables to be created and the application starts up fine but when i make an update , create or delete my table is not populated with any data .
My application-context.xml is as follows.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- START - IFA DATASOURCE AND SESSION FACTORY--> <!-- Below are connection values to the database. These values are used in the hibernate.properties file and are populated at runtime--> <bean id="ifaDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>net.sourceforge.jtds.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:jtds:sqlserver://localhost:1433/ifa;prepareSQL=0;SendStringParametersAsUnicode=False;</value> </property> <property name="username"> <value>ifa</value> </property> <property name="password"> <value>ifa</value> </property> <property name="initialSize"> <value>2</value> </property> <property name="maxActive"> <value>5</value> </property> <property name="maxIdle"> <value>2</value> </property> </bean> <bean id="ifaSessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="ifaDataSource" /> </property> <property name="configLocation"> <value>WEB-INF/hibernate/hibernate-ifa.cfg.xml</value> </property> <property name="configurationClass"> <value>org.hibernate.cfg.AnnotationConfiguration</value> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> <prop key="hibernate.cglib.use_reflection_optimizer">true</prop> <prop key="hibernate.show_sql">true</prop> <!-- <prop key="hibernate.hbm2ddl.auto">update</prop> --> <prop key="hibernate.format_sql">true</prop> </props> </property> <property name="eventListeners"> <map> <entry key="post-insert"> <list> <bean class="org.hibernate.envers.event.AuditEventListener" /> <ref bean="ejbInsert"/> </list> </entry> <entry key="post-update"> <list> <bean class="org.hibernate.envers.event.AuditEventListener" /> <ref bean="ejbUpdate"/> </list> </entry> <entry key="post-delete"> <list> <bean class="org.hibernate.envers.event.AuditEventListener" /> <bean class="org.hibernate.ejb.event.EJB3PostDeleteEventListener" /> </list> </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> </bean> <bean name="callBack" class="org.hibernate.ejb.event.EntityCallbackHandler" /> <bean name="audit" class="org.hibernate.envers.event.AuditEventListener" /> <bean name="ejbInsert" class="org.hibernate.ejb.event.EJB3PostInsertEventListener" > <property name="callbackHandler"> <ref bean="callBack"/> </property> </bean> <bean name="ejbUpdate" class="org.hibernate.ejb.event.EJB3PostUpdateEventListener" > <property name="callbackHandler"> <ref bean="callBack"/> </property> </bean> <!-- END - IFA DATASOURCE AND SESSION FACTORY--> </beans>
Also i have added the @Audited annotation to my bean.
Any help would be much appreciated as i cannot find any resources for this problem.
Many Thanks,
Muhammed Patel