even if I think it work in the same way using session.Save, the semantic of
session.Persist should include the immediate availability of ID.

On Mon, Apr 26, 2010 at 9:03 PM, Brian Pritchard
<[email protected]>wrote:

> Hi, first like to say that I'm brand new to NHibernate and so far it's
> wonderful!
>
> I'm working with a legacy oracle database that is using trigger auto-
> increment id's.  The TriggerIdentityGenerator works great but the
> problem is calling session.Persist() causes inserts to go the db
> immediately instead of during flush.
>
> Looking through the code I found in the AbstractSaveEventListener
> class in PerformSaveOrReplicate a boolean shouldDelayIdentityInserts,
> that at one point (revision 3005 in case it helps) would allow the
> insert to be delayed.
>
> // NH Different behavior (shouldDelayIdentityInserts=false anyway)
> //bool inTxn = source.ConnectionManager.IsInActiveTransaction;
> //bool shouldDelayIdentityInserts = !inTxn && !
> requiresImmediateIdAccess;
> bool shouldDelayIdentityInserts = false;
>
> I changed in my local build to allow this and everything seems to work
> as I had hoped and without issue.  Although I'm still trying to figure
> out how to get the unit tests to run so I don't know if this breaks
> any tests.
>
> Is there any reason this couldn't be reverted back?
>
> Thanks,
> Brian Pritchard
>
>
> --
> Subscription settings:
> http://groups.google.com/group/nhibernate-development/subscribe?hl=en
>



-- 
Fabio Maulo

Reply via email to