hbm.xmlに、次のように多対1の関連付けを設定しています。
<many-to-one name="gigVenue"
class="blah.blah.xxx" fetch="select"
lazy="no-proxy" not-null="true" >
<column name="N_VENUE_ID" precision="18" scale="0" not-null="true" />
</many-to-one>
そして、私はインストルメンテーションを使用して真の遅延読み込みを行っています。
しかし、他のテーブルへの内部結合フェッチを使用してhqlクエリを実行すると、他のテーブルの値であるオブジェクトを含む必要があるプロパティはnullのままになります。他のテーブルの値のオブジェクトがhibernateによって作成されているのを見ることができますが。
誰かがこの問題について何か洞察を持っていますか?
アップデート:
from Gig g inner join fetch g.gigVenue gv where g.artistId = :artistId and (g.territoryId = -1 or g.territoryId = :territoryId) order by g.gigDatetime desc
<set name="gigs" inverse="true" lazy="true" table="DSP_GIG" fetch="select">
<key>
<column name="N_VENUE_ID" precision="18" scale="0" not-null="true" />
</key>
<one-to-many class="blah.blah.Gig" />
</set>