-
1. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
adamw Oct 23, 2008 6:35 AM (in response to genije)Hello,
do you have a transaction and do you commit it?
It's really hard to say something with that little amount of data :)
--
Adam -
2. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
genije Oct 23, 2008 8:27 AM (in response to genije)Yes I have transaction manager it is HibernateTransactionManager provided by spring!
Any additional information i will gladly give here but i don't know what!
Database is oracle so i have created RevEntity!
Is there something to do on overwritten method onPostInsert to get more information!
Thank you. -
3. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
genije Oct 23, 2008 9:06 AM (in response to genije)Sorry, my bad!
Everything works OK.
I have two sessionFactories and i used transaction manager for just one session i will have to swich to JTA!
thank you ... regards jure -
4. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
adamw Oct 23, 2008 9:23 AM (in response to genije)Good that it's working :)
--
Adam -
5. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
genije Oct 23, 2008 9:39 AM (in response to genije)I see that many people have problems with configuration envers with spring so i will post my working config!
.....
${hibernate.dialect}
${hibernate.show_sql}
VER_REV_TYPE
VER_REV
<entry key="post-insert" value-ref="enversEventListener"/>
<entry key="post-update" value-ref="enversEventListener"/>
<entry key="post-delete" value-ref="enversEventListener"/>
That's it! Easy.
regards jure! -
6. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
genije Oct 23, 2008 9:42 AM (in response to genije)One more time!!!
<bean id="sessionFactoryAnnot" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> ..... <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="org.jboss.envers.revisionTypeFieldName">VER_REV_TYPE</prop> <prop key="org.jboss.envers.revisionFieldName">VER_REV</prop> </props> </property> <property name="eventListeners"> <map> <entry key="post-insert" value-ref="enversEventListener"/> <entry key="post-update" value-ref="enversEventListener"/> <entry key="post-delete" value-ref="enversEventListener"/> </map> </property> </bean> <bean id="enversEventListener" class="org.jboss.envers.event.VersionsEventListener" />
regards, jure -
7. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
adamw Oct 23, 2008 12:41 PM (in response to genije)Great, thanks :)
Just a quick note: you need 3 additional event listeners for persistent collections to work properly. See:
http://www.jboss.org/envers/quickstart.html
Adam -
8. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
amin1977 Nov 6, 2008 2:21 PM (in response to genije)Hi
It looks as though I am experiencing the same problem. Whenever I create or update an entity no record is being inserted into the revisions table. all of my entities have the @versioned at the class level.
Here is my spring config:<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="annotatedPackages"> <list> </list> </property> <property name="annotatedClasses"> <list> <value>com.amin.gigaspaces.common.domain.Address</value> <value>com.amin.gigaspaces.common.domain.Contact</value> <value>com.amin.gigaspaces.common.domain.Phone</value> <value>com.amin.gigaspaces.common.domain.PersonalContact</value> <value>com.amin.gigaspaces.common.domain.BusinessContact</value> <value>com.amin.gigaspaces.common.domain.Note</value> </list> </property> <property name="eventListeners"> <map> <entry key="post-insert" value-ref="enversEventListener"/> <entry key="post-update" value-ref="enversEventListener"/> <entry key="post-delete" value-ref="enversEventListener"/> </map> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop> <prop key="hibernate.search.default.directory_provider">${hibernate.search.default.directory_provider}</prop> <prop key="hibernate.search.default.indexBase">${hibernate.search.default.indexBase}</prop> <prop key="hibernate.search.default.space_url">${hibernate.search.default.space_url}</prop> <prop key="hibernate.search.default.clustered_space">${hibernate.search.default.clustered_space}</prop> <prop key="org.hibernate.worker.execution">${org.hibernate.worker.execution}</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> <prop key="hibernate.cache.use_second_level_cache">false</prop> <prop key="org.jboss.envers.revisionTypeFieldName">VER_REV_TYPE</prop> <prop key="org.jboss.envers.revisionFieldName">VER_REV</prop> </props> </property> </bean>
Here is an example of my test case:@Test @Transactional @Rollback(false) public void testEntityVersionManager() throws Exception { PersonalContact pc = (PersonalContact) hibernateTemplate.get(PersonalContact.class, new Long(1)); pc.setEmail("ljktrt@new.com"); hibernateTemplate.update(pc); hibernateTemplate.flush(); }
I am using version 1.0.0.
Any help would be appreciated! -
9. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
adamw Nov 7, 2008 5:13 AM (in response to genije)Are you sure the event listeners get registered? Why don't you specify them in hibernate properties?
(but again: I'm no expert on Spring, quite the contrary)
--
Adam -
10. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
amin1977 Nov 10, 2008 4:18 AM (in response to genije)Hi
I can see the listeners being fired when debugging but no entries into the tables. The only thing that is being stored is the revision id and revision timestamp in the _revisions_info table.
Will try to debug further...
Cheers
Amin -
11. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
adamw Nov 10, 2008 2:51 PM (in response to genije)That's weird ... are you sure you have a transaction which you commit?
Adam -
12. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
amin1977 Nov 10, 2008 5:56 PM (in response to genije)Yep. My data is being inserted into the database table. To be honest I don't understand why this isn't working as I had been doing prototype work with this framework and it worked. Very strange..will keep on looking.
-
13. Re: Spring2.5 + Hibernate3.2.5 + Envers1.0
amin1977 Nov 12, 2008 4:06 AM (in response to genije)This is working now. I had a test execution listener which was causing the problem and not writing to the db.
Thanks.