如何使用Hibernate中的Id映射组件?

时间:2011-02-16 17:44:41

标签: java hibernate hibernate-mapping

我正在尝试映射公司的业务对象(xml而不是注释),它具有以下一般结构:

ObjectDetail        (main table)
    ObjectSummary   (main table)
        objectId
    otherStuffInMainTable
    otherStuffInOtherTables

我知道如何使用简单的Id映射摘要,我知道如何将Summary对象映射为Detail对象的一个​​组件,但我不知道如何告诉Detail对象它的Id是在零件。 Hib Docs中有很多关于嵌入式ID的信息,但它都是关于多列密钥的。我有一个简单的ID,但我不想使用他们建议的语法,因为只是摘要中的Id是表键,而不是整个Summary对象。

有没有最好的做法,我只是缺少,或者有任何好的想法?

1 个答案:

答案 0 :(得分:0)

如果ObjectSummary.objectId也是ObjectDetail的ID,则应将它们映射到单个表。在这种情况下,ObjectSummary不能是一个实体,其“生命周期”独立于ObjectDetail

您可以将ObjectSummary标记为可嵌入的实体。 ObjectDetail会有一个嵌入ObjectSummary的属性。查看文档,了解有关embeddable objects

的部分