fetch =“join”和hql

时间:2011-03-14 08:28:38

标签: nhibernate nhibernate-mapping hql

我对多对一映射(类订单)中的fetch-attribute非常困惑:

<many-to-one name="Product" column="ProductId" lazy="false" fetch="join" />

现在,如果我写一个像

这样的hql查询
from Order where Order.OrderId = x

Hibernate是不是应该生成一个SQL-Query,加入产品?在我的情况下,发生了两个查询,我不确定映射中的fetch-attribute是否由于某种原因被忽略...

1 个答案:

答案 0 :(得分:1)

HQL不尊重fetch="join"。你需要明确地做到这一点:

from Order o
join fetch o.Product
o.OrderId = x

(我可能会添加lazy="false"几乎总是一个坏主意,但这会让你前进)