Vote for http://216.121.112.228/browse/NH-2353 and 
http://216.121.112.228/browse/NH-1050
if you would like to see this in NHibernate ;-)

On Apr 19, 4:58 pm, Arnon Axelrod <[email protected]> wrote:
> Hi,
>
> Suppose I have an Order class with an 'IList<Item> Items' property
> (Item is another class). Item doesn't point back to its containing
> Order. The mapping is as follows:
>
>                 <bag name="Items" cascade="all-delete-orphan">
>                         <key column="OrderId"/>
>                         <one-to-many class="Item"/>
>                 </bag>
>
> When I create a new Order and fill its Items property with new
> instances of Item and then save the Order, I see the following queries
> are executed:
> 1. An INSERT for the Order
> 2. An INSERT for each Item, without the OrderId column
> 3. An Update for each Item setting the OrderId to the Id of the Order
>
> What I don't understand is why NHibernate can't add the OrderId in the
> INSERT statement (#2) and needs another round-trip for that?
>
> I see that if I add a reference back from Item to its Order then I can
> use inverse="true" and as a result the UPDATE statement will be
> avoided. But I prefer not to add a property I don't use otherwise, and
> which I need to manage its consistency.
>
> Is there a way to do it without adding a reference from Item to its
> Order, or is there a good reason why NH can't optimize it? (or maybe
> it's just a good idea that wasn't implemented yet :-))

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to