Hibernate @embeddable注释等效于XML映射文件?

时间:2011-01-20 23:40:29

标签: xml hibernate annotations

我有一个类,我正在创建一个Hibernate映射,其中包含一个我无法修改的遗留对象,因此它没有必要的id字段来很好地与Hibernate一起使用。我想将遗留对象注释为我的新类的@Embedded字段,并为遗留对象编写一个hbm.xml文件,并注意它是可嵌入的。有没有办法做到这一点?我见过的嵌入对象的唯一文档是指注释对象而不是使用XML。

我意识到我可以扩展遗留对象并对其进行适当的注释,但这些情况可能经常发生,所以我想尽可能避免这种情况。

1 个答案:

答案 0 :(得分:10)

@Embedded的XML副本<component>,请参阅5.1.5. Embedded objects (aka components)

但是,它与@Embeddable / @Embedded对的工作方式不同,您需要在包含类的.hbm.xml中描述组件类的所有属性,像这样:

<class name = "NewClass">
    ...
    <component name = "legacyObject">
        ... properties of the legacy class ...
    </component>
</class>