我有一个类,我正在创建一个Hibernate映射,其中包含一个我无法修改的遗留对象,因此它没有必要的id字段来很好地与Hibernate一起使用。我想将遗留对象注释为我的新类的@Embedded字段,并为遗留对象编写一个hbm.xml文件,并注意它是可嵌入的。有没有办法做到这一点?我见过的嵌入对象的唯一文档是指注释对象而不是使用XML。
我意识到我可以扩展遗留对象并对其进行适当的注释,但这些情况可能经常发生,所以我想尽可能避免这种情况。
答案 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>