I'm asking mappings because with table-per-concreteclass mapped through
<union-subclass> with HQL and with Criteria you have nothing to do, every
thing is done by NH.

2010/3/10 Fabio Maulo <[email protected]>

> mapping please
>
> 2010/3/10 DanV <[email protected]>
>
> Hi guys,
>>
>> I have a similar problem but I need to do it with HQL. Any idea how to
>> do it, or if it is possible?
>>
>>
>> On Mar 8, 6:58 pm, Diego Mijelshon <[email protected]> wrote:
>> > As you may have guessed, you can't use polymorphic queries for
>> properties
>> > that are only defined in one of the classes.
>> > If you desperately needed to make this one query, you could hack some
>> > complex criteria with subqueries, or just write a SQL query with UNION.
>> > However, it's probably cleaner to do it with two queries and join them
>> with
>> > LINQ-to-objects.
>> > Since the Criteria API is actually more useful for search (where the
>> > parameters vary), and you seem to have a pretty static query here, I'd
>> go
>> > one step further and use also NHibernate.Linq (you could also use
>> QueryOver
>> > with NH 3.x)
>> > So, your whole query would be:
>> >
>> > var listOfReservables = Session.Linq<FrameworkContract>().Where(fc =>
>> > fc.Quantity > 0 && fc.Status == "Confirmed")
>> >                                   .ToList().Cast<Reservable>()
>> >                                   .Concat(
>> >
>> Session.Linq<InventoryStock>().Where(fc =>
>> > fc.Quantity > 0)
>> >                                   .ToList().ToList().Cast<Reservable>())
>> >
>> >    Diego
>> >
>> > On Mon, Mar 8, 2010 at 13:13, Patrik Lowendahl
>> > <[email protected]>wrote:
>> >
>> >
>> >
>> > > Hello,
>> >
>> > > I have a scenario where I fetch data from two different tables into a
>> > > "Reservable". You can reserve from inventory stock or from framework
>> > > contracts. This is mapped using Table per concrete class strategies.
>> > > However, I found a challenge. There is slighty different rules in
>> what's
>> > > acceptable as a reservable. StockInventory it's sufficient with
>> quantity > 0
>> > > but for framework contracts it need to be cofirmed as well.
>> >
>> > > I would like to do something like:
>> >
>> > > var listOfReservables = Session.CreateCriteria(typeof (Reservable))
>> > >       .Add(Restrictions.Gt("Quantity", 0))
>> > >       .Add(Restrictions.Eq("Status", "Confirmed"))
>> > >       .List<Reservable>();
>> >
>> > > But this isn't possible in it's current form since StockInventory
>> doesn't
>> > > have a Status, just the Framework Contract. Is this possible? Or do I
>> need
>> > > to create two separate queries for each concrete class and joint them
>> > > myself?
>> >
>> > > --
>> > > Patrik Löwendhl
>> >
>> > > --
>> > > 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]<nhusers%[email protected]>
>> <nhusers%[email protected]<nhusers%[email protected]>
>> ­>
>> > > .
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/nhusers?hl=en.- Hide quoted text -
>> >
>> > - Show quoted text -
>>
>> --
>> 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]<nhusers%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/nhusers?hl=en.
>>
>>
>
>
> --
> Fabio Maulo
>
>


-- 
Fabio Maulo

-- 
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