如何在没有xml / annotation的情况下使用Hibernate / JPA映射内部对象?

时间:2009-08-31 19:34:43

标签: hibernate stored-procedures jpa

我们有一个对象A,它包含另一个对象B.我们有Hibernate调用一个存储过程来查询数据并填充A的实例。我们使用@NamedNativeQuery注释,并将resultClass属性设置为A.类。这很有效,除了B的实例被懒惰加载,好像Hibernate无法根据返回的元数据弄清楚如何创建它们。我们在存储过程中重命名了'AS'子句,以反映A中B的嵌套,并直接指向B的字段名称,但没有成功。

问题是:当使用存储过程而不使用* .hbm.xml或巨大的@SqlResultSetMapping注释时,我们如何获得对象字段的急切加载?

1 个答案:

答案 0 :(得分:2)

你做不到。来自Hibernate documentation

存储过程目前仅返回标量和实体。 <return-join>不受支持。

<load-collection>是你用来映射(非SP)命名SQL查询中急切加载的关联的方法。