Sorry, poor choice of words on my part. I really meant to say that NH was known for its mapping flexibility.
Thanks for you guys work on such a great product. On Apr 27, 4:02 pm, Fabio Maulo <[email protected]> wrote: > The "selling point" is exactly the inverse. > You don't need to touch your domain model to fit the RDBMS exigences. > > For many of us the RDBMS exist only because we haven't found the way to > ensure energy to our servers. > We are working on ORM tools but we would avoid M and overall R. > Unluckily too many "big fish" are putting money to promote RDBMS a few ugly, > and poor, guys are working in something else to fit the exigencies of this > century. > > On Tue, Apr 27, 2010 at 3:03 PM, Brian Pritchard > <[email protected]>wrote: > > > > > > > You're right, I havnt tried this on a complex object graph. So maybe > > it would break down in different scenarios, I can accept that. > > > As far as the need to support legacy db's I think is very real. In my > > case there are a lot of reports and things we may not even know about > > using this database. The solution of just refactor your database, is > > not an option at this point. > > > That is one of nh's big selling points that you don't have to > > redesign your db to fit the orm. > > > On Apr 27, 12:46 pm, Fabio Maulo <[email protected]> wrote: > > > What you are seeing is only the first level of your object graph. > > > If you want change the NH behavior try to think in something more complex > > > not only using an object graph with collection etc. but even using > > different > > > hierarchy-persistent-representation. > > > If you don't want to access to DB at each Save and/or if you don't want > > to > > > hit DB for each obj in the graph, when you use Persist, the way to walk > > is > > > pretty easy: > > > don't use identity-like strategy for POID. > > > > If for some obscure reasons you want maintain the legacy-db, without > > > refactoring it, even if you are writing a completely new application... > > > well... you are limiting yourself. > > > What you are calling "legacy-db" is part of a "legacy-application", no? > > > You are re-implementing the application, right ? > > > well... perhaps you should remember that the DB is part of the > > application. > > > > btw, if you have a proposal or a patch, you can use our JIRA ( > >http://jira.nhforge.org/). > > > > On Tue, Apr 27, 2010 at 12:52 PM, Brian Pritchard < > > [email protected] > > > > > wrote: > > > > How can I delay insert using save? > > > > > This is confusing to me because save returns the id, persist returns > > > > void? > > > > > To me, those method signatures communicate that save ensures the id > > > > but persist does not. > > > > > On Apr 27, 11:05 am, Fabio Maulo <[email protected]> wrote: > > > > > My real question is another... btw, the Save is the method who can > > delay > > > > the > > > > > insert. > > > > > Obviously if you use HiLo, Guid, Guid.conb, guid.native, sequence > > nobody > > > > > will insert the record before flush the session. > > > > > > On Tue, Apr 27, 2010 at 11:56 AM, Brian Pritchard < > > > > [email protected] > > > > > > > wrote: > > > > > > Hi Fabio, > > > > > > > What I'm trying to get at is there is a needed feature of allowing > > > > > > transient entities to be associated with the session without going > > to > > > > > > the db imediatly when using generated id's. > > > > > > > You say that the semantics of persist should ensure id's are > > > > > > available, but then why do we need it when there is save. > > > > > > > The nh recomended way is to use hilo or guids so in those cases > > id's > > > > > > will be available anyway. But for those with legacy db's I think > > it > > > > > > is understandable that id's aren't there until you flush, if you > > can > > > > > > keep the inserts from going early you would make a lot of people > > > > > > happy. > > > > > > > On Apr 27, 9:42 am, Fabio Maulo <[email protected]> wrote: > > > > > > > Save mean Save in the UoW. > > > > > > > Persist is clear enough. > > > > > > > > On Tue, Apr 27, 2010 at 9:45 AM, Brian Pritchard > > > > > > > <[email protected]>wrote: > > > > > > > > > Maybe Persist is bad name for it as it does imply the same > > thing as > > > > > > > > Save. > > > > > > > > > Still, those using db generated id's need a way to delay > > inserts > > > > until > > > > > > > > flush. > > > > > > > > > What if there were a method named Associate or Attach? > > > > > > > > > On Apr 26, 11:59 pm, Fabio Maulo <[email protected]> wrote: > > > > > > > > > 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 > > > > > > > > -- > > > > > > > Fabio Maulo > > > > > > -- > > > > > Fabio Maulo > > > > -- > > > Fabio Maulo > > -- > Fabio Maulo- Hide quoted text - > > - Show quoted text -
