Thanks, but we're not using fluent.

Peter



On Monday, March 17, 2014 6:25:35 AM UTC-4, Carel Blumenstock wrote:
>
> 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.

Reply via email to