0

我正在尝试映射一个包含两个持久对象的类(与数据库无关的对象),有没有办法做到这一点?如果有要使用的关键字/属性,只需提及它,我就可以从那里开始。如果没有直接的方法,您能否简要解释一下替代步骤?

课程

class NotPersistent {
    Private Persistent1 persistent1;
    Private Persistent2 persistent2;
    ...
}

class Persistent1 {
    Private Integer id;
    Private String column1;
    ...
}

class Persistent2 {
    Private Integer id;
    Private String column1;
    ...
}

到目前为止我所做的休眠映射

<class name="NotPersistent">
    <one-to-one class="Persistent1"></one-to-one>
    <one-to-one class="Persistent2"></one-to-one>
    ...
</class>

<class name="Persistent1">
    <one-to-one class="NotPersistent"></one-to-one>
    <id ...>
    <property ...>
    ...
</class>

<class name="Persistent2">
    <one-to-one class="NotPersistent"></one-to-one>
    <id ...>
    <property ...>
    ...
</class>

如果我在正确的轨道上,应该是什么属性<class name="NotPersistent" ..

4

1 回答 1

0

好的,没有其他任何东西,到目前为止采取的方法看起来是正确的。one-to-one您使用标签进行映射。

<class name="NotPersistent" table="xxx">
     <one-to-one name="persistent1" class="Persistent1" cascade="save-update"></one-to-one>

<class name="NotPersistent" table="xxx">
     <one-to-one name="nonPersistent" class="NonPersistent"></one-to-one>

由于我没有广泛使用 XML 映射,因此我不知道确切的语法。但这种方法应该让你开始。另一个问题是实体真的是一对一的吗?这看起来不太可能,因为这两个持久实体是如此密切相关,以至于它们可以直接使用外键和一个实体耦合。

于 2013-05-28T07:10:49.227 回答