代码之家  ›  专栏  ›  技术社区  ›  Mike Reedell

如何在不使用XML/Annotation的情况下使用Hibernate/JPA映射内部对象?

  •  1
  • Mike Reedell  · 技术社区  · 16 年前

    我们有一个对象a,其中包含另一个对象b。我们有Hibernate调用存储过程来查询a的数据和填充a的实例。我们使用的是@namedNativeQuery注释,其中teh resultclass属性设置为a.class。这非常有效,除了B的实例被延迟加载,就好像Hibernate无法根据返回的元数据创建它们一样。我们重命名了存储过程中的“as”子句,以反映a中b的嵌套,并直接指向b的字段名,但没有成功。

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

    1 回复  |  直到 16 年前
        1
  •  2
  •   ChssPly76    16 年前

    你不能。从 Hibernate documentation :

    存储过程当前只返回标量和实体。 <return-join> <load-collection> 不支持。

    <返回连接; 在名为sql query的(非sp)中,您可以使用它来映射热切加载的关联。