0

2 つの永続オブジェクトを含むクラス (データベースに関連しないオブジェクト) をマップしようとしていますが、これを行う方法はありますか? 使用するキーワード/属性がある場合は、それについて言及するだけで、そこから始めることができます。直接的な方法がない場合は、代替手順の概要を簡単に説明していただけますか?

クラス

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

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

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

これまでに行った Hibernate マッピング

<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 マッピングを広範囲に使用したわけではないので、正確な構文はわかりません。しかし、アプローチはあなたを始めるはずです。別の質問は、エンティティが本当に 1 対 1 であるかということです。2 つの永続エンティティは非常に密接に関連しているため、Foreignkey と 1 つのエンティティのみを使用して直接結合することができるため、可能性は低いと思われます。

于 2013-05-28T07:10:49.227 に答える