I have run into this problem as well when using anything other than a
single primary key. I ended up just adding an identity column and
using that as the key for the tables I had this problem with so if
there is another solution I'd love to hear it.

On Jun 24, 2:06 pm, jods <[email protected]> wrote:
> Hello,
>
> I have a mapping where the class T1 has a composite id, which contains
> a reference to the class T2.
>
> This works all fine, I can load both classes, same them, and so on.
>
> My issue is performance-related. I would like to eager-load the T2
> reference, but I absolutely can't manage to do it.
>
> 1st try: use the Criteria API with .SetFetchMode("ReferenceToT2",
> FetchMode.Eager).
> No luck. The query executes without error, but the reference is an
> uninitialized proxy. SQL profiler clearly shows that the query does
> indeed not contain T2 at all. Just "select * from T1".
>
> 2nd try: using HQL. "from T1 obj inner join fetch
> obj.ReferenceToT2..."
> Exactly the same result as 1.
>
> 3rd try: changing the mappign: <key-many-to-one lazy="false" />
> It works, in the sense that my reference is loaded when a query
> returns. But looking at the profiler, it is not loaded with a join,
> rather with a second select. One can consider that at least the
> lazy="false" attribute was correctly honored, even if not in a
> performant way.
>
> The problem becomes worst when, in some cases, in need to fetch a 2nd
> reference from T1. Any variation on the theme of
> .CreateAlias("ReferenceToT2", "ref").SetFetchMode
> ("ref.OtherReference", FetchMode.Eager)
> simply doesn't work, even with eager-loaded T2 (using 3rd solution).
>
> Is this a known limitation, a bug, am I missing something?
>
> I would consider that not fulfilling the requested query without
> returning an error is a bug...
>
> Thanks for your help!

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