Hello again, more info now.
I now understand that the session is being flushed when I commit a transaction, and that is why updates are occuring to Question objects at that point. But why does hibernate think that these objects are dirty? They definately shouldn't be.
I have implemented Audit logging using the idea suggested here:
Each entity that needs audit logging has the following xml in its mapping file:
<property name="AuditInfo" type="BCS.QMIS.DataAccess.Hibernate.CustomTypes.AuditInfoType, QMISDataAccess"> <column name="WhenAdded" /> <column name="WhenUpdated" /> <column name="AddedBy" /> <column name="UpdatedBy" /> </property>
If I remove this piece of xml from the Question.hbm.xml file then stage 3 of my first post does not happen, ie no unwanted updates occur and the version is not incremented. Any ideas?
Many thanks in advance,