One to one bi-directional mappings
by John Baker
Dear List,
Perhaps you can help? I've done a number of Hibernate mappings before
now, but something has left me puzzled. If I have objects A and B, where
A has a one to one bi-directional relationship with B, I define them as
follows:
public class A {
private B b;
...
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="FK_b", nullable=false)
public B getB()
{ return b; }
}
public class B {
private A a;
@OneToOne(mappedBy="b")
public A getA()
{ return a; }
}
This works perfectly.
However, what if I want A to have multiple instances of B, i.e.:
public class A {
protected B b1, b2;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="FK_b1", nullable=false)
public B getB1()
{ return b1; }
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="FK_b2", nullable=false)
public B getB2()
{ return b2; }
}
The object B still only has one parent (A), so how is this defined?
Any thoughts are most welcome.
John
14 years, 9 months