We are using fluent mappings, in order to have changes to child lists not trigger a version update of the parent we had to state as such in mapping like Not.OptimisticLock(), hth
Op maandag 10 maart 2014 20:12:27 UTC+1 schreef Peter V: > > We're using NHibernate where the DB can be updated by either a user (via > GUI) or external systems (via background message handlers). Our DB schema, > by the way, uses a lot of joins. > > So what can happen is, we can get multiple background messages that > provide exactly the same information, and so trigger repeated writes to the > DB across all the joined tables that don't actually change anything (other > than the version). > > What I'm trying to figure out is, for performance reasons, is there a way > to prevent NH from updating the DB if a value hasn't changed? > > So when an object's setter is called, NH should first read the current > value from the DB, and if the new value is the same, do nothing; > if different or not found, then save/update it. > > Thanks, > Peter > > P.S. I was looking through other postings that talked > about Session.Merge(): > - > https://groups.google.com/forum/#!searchin/nhusers/saveorupdate$20merge/nhusers/6_8uwwl5KX4/11Pef_FreXgJ > - > http://stackoverflow.com/questions/4725785/stop-hibernate-from-updating-collections-when-they-have-not-changed > > ...and I thought Merge() would do what I needed. > > But reading some more, I see that Merge is really more about whether the > instance is already associated with the current session. (Merge will... > "Copy the state of the given object onto the persistent object with the > same identifier. If there is no persistent instance currently associated > with the session, it will be loaded.") > > So I'm confused - will Merge() do what I need? Or am I looking in the > wrong place? > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/nhusers. For more options, visit https://groups.google.com/d/optout.
