我有一个类,正在创建 Hibernate 映射,其中包含一个无法修改的遗留对象,因此它没有必要的 ID 字段与 Hibernate 相容。我想将这个遗留对象注释为我的新类的 @Embedded 字段,并编写一个 hbm.xml 文件来指示它是可嵌入的。有没有办法做到这一点?我看到的关于嵌入对象的唯一文档是关于注释对象而不是使用 XML。我意识到可以扩展遗留对象并适当地注释它,但这种情况可能经常发生,所以如果可能的话,我想避免这种情况。
@Embedded
的 XML 对应物是 <component>
,请参见 5.1.5. 嵌入对象(又称组件)。@Embeddable
/@Embedded
不同,你需要在包含类的 .hbm.xml
文件中描述组件类的所有属性,例如:<class name = "NewClass">
...
<component name = "legacyObject">
... properties of the legacy class ...
</component>
</class>