我在 hbm.xml 中设置了这样的多对一关联:
<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 查询时,应该包含作为另一个表的值的对象的属性保留为空。即使我可以看到另一个表的值对象是由休眠创建的。
有人对这个问题有任何见解吗?
更新:
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>