我们有一个对象A,它包含另一个对象B.我们有Hibernate调用一个存储过程来查询数据并填充A的实例。我们使用@NamedNativeQuery注释,并将resultClass属性设置为A.类。这很有效,除了B的实例被懒惰加载,好像Hibernate无法根据返回的元数据弄清楚如何创建它们。我们在存储过程中重命名了'AS'子句,以反映A中B的嵌套,并直接指向B的字段名称,但没有成功。
问题是:当使用存储过程而不使用* .hbm.xml或巨大的@SqlResultSetMapping注释时,我们如何获得对象字段的急切加载?
答案 0 :(得分:2)
你做不到。来自Hibernate documentation:
存储过程目前仅返回标量和实体。 1}}和<return-join>
不受支持。
<load-collection>
是你用来映射(非SP)命名SQL查询中急切加载的关联的方法。