मैं db के इस स्कीमा है:हाइबरनेट जेपीए एनोटेशन: एंबेडेड आईडी के साथ समस्या
Table_A [1] -> [n] Table_C और Table_B [1] -> [n] Table_C
अब, Table_C की प्राथमिक कुंजी एक एम्बेडेड आईडी है जिसमें विदेशी कुंजी बनाम Table_A और विदेशी कुंजी बनाम Table_B है। मैं इस एनोटेशन को कैसे नोट करूं?
मेरे समाधान है:
@Entity
public class TableA{
@Id @column(name="ID")
public int id;
@OneToMany(mappedBy="tableA")
public List<TableC> listOftableC;
}
@Entity
public class TableB{
@Id @column(name="ID")
public String id;
@OneToMany(mappedBy="tableB")
public List<TableC> listOftableC;
}
@Entity
public class TableC{
@EmbeddedId
public TableCPK idComposite;
}
@Embeddable
public class TableCPK{
@ManyToOne
@JoinColumn(name = "ID_TABLE_A", referencedColumnName="ID")
public TableA tableA;
@ManyToOne
@JoinColumn(name = "ID_TABLE_B", referencedColumnName="ID")
public TableA tableB;
}
संबंध बिडरेक्शनल – giulius