0
私は3つのクラスを持っています。 クラス1 + 2はIDを持つ空のクラスです。Hibernateで2つの多対1キーを持つ複合キー
クラス3が2つの属性があります
private long id; <---- DO I NEED THIS???
private Class1 abc;
private Class2 cde;
それらは多対一の両方であり、例えば一緒にこのクラスのキーを定義する必要が
abc = abcとcde = cdeの2つのclass3インスタンスはありません。 私はこのようにそれを試してみました:
<composite-id name="id" class="class3">
<key-property name="abc" column="ID_CLASS1"/>
<key-property name="cde" column="ID_CLASS2" />
</composite-id>
これは、多対1の関係を反映していません、それはコンパイルされません!
誰かが私の特殊なケースで動作するマッピングを投稿できますか? 私はすべての文書を読みましたが、それを理解できませんでした! ありがとうございました。
はい、class3を結合表として表示できます。それでもクラスclass3は存在する必要があり、関係がクラス1またはクラス2に格納されていないため、多対多を使用できません。問題は多対多の関係を「内側から」定義する必要があることです。したがって、クラス3のマッピングファイル – eclipse
次に、数値ID列をテーブルに保持し、このテーブルを、自動生成されたIDと2つの単方向ManyToOneの関連付けを持つエンティティとしてマップします。複合IDは使用しないでください。 –
ありがとうございますサー! – eclipse