XML映射文件中与Hibernate @embeddable注解等效的是什么?

8
我有一个类,正在创建 Hibernate 映射,其中包含一个无法修改的遗留对象,因此它没有必要的 ID 字段与 Hibernate 相容。我想将这个遗留对象注释为我的新类的 @Embedded 字段,并编写一个 hbm.xml 文件来指示它是可嵌入的。有没有办法做到这一点?我看到的关于嵌入对象的唯一文档是关于注释对象而不是使用 XML。我意识到可以扩展遗留对象并适当地注释它,但这种情况可能经常发生,所以如果可能的话,我想避免这种情况。
1个回答

15
@Embedded 的 XML 对应物是 <component>,请参见 5.1.5. 嵌入对象(又称组件)
然而,它与 @Embeddable/@Embedded 不同,你需要在包含类的 .hbm.xml 文件中描述组件类的所有属性,例如:
<class name = "NewClass">
    ...
    <component name = "legacyObject">
        ... properties of the legacy class ...
    </component>
</class>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接