私は何も試したことがないようです。JPAと1対1の関係でエンティティBをエンティティBに2回マッピングする方法は?
class A {
B foo;
B bar;
}
class B {
A baz;
}
次のように私はクラスAにしようとしたことはある:動作していないよう
@OneToOne(targetEntity = B.class)
@JoinColumn(name = "foo_id")
@Cascade(CascadeType.ALL)
public B getFoo() {
return foo;
}
@OneToOne(targetEntity = B.class)
@JoinColumn(name = "bar_id")
@Cascade(CascadeType.ALL)
public B getBar() {
return bar;
}
私はこのような何かを持っていると思います。私はいつも、私が理解していない理由のためにfoo_idとbar_idが同じ場所に終わる。
IはIDが1の行のための私のDBテーブル "A" を検査するときに、私がしたい:
foo_id = 1
bar_id = 2
および表Bに、I 2つの、ID 1を持つエンティティと2を持っている必要があり、どちらもbaz_id = 1です。
PortalResourceModelでは、ここに表示されているこのエンティティへの参照はありません。 –
私はこのケースでは双方向関係に興味がなかったので、私はしません。しかし、私が行ったとしても、実際にはアソシエーションを2回作成していないことを示す 'mappedBy'属性があります。また、DBスキーマは1つの場所の関係のみを反映します。 – Jeff
そして、実際には今私が探している、あなたの問題です。エンティティBのbaz_idは、同時に2つの異なる関係にマップすることはできません。削除する必要があります。私の答えをより詳細に更新しました – Jeff