我对多对一映射(类订单)中的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是否由于某种原因被忽略...
答案 0 :(得分:1)
HQL不尊重fetch="join"
。你需要明确地做到这一点:
from Order o
join fetch o.Product
o.OrderId = x
(我可能会添加lazy="false"
几乎总是一个坏主意,但这会让你前进)