ben db bu şema var:hazırda JPA ek açıklama: Gömülü Id ilgili sorun
Table_A [1] -> [n] Table_C ve Table_B [1] -> [n] Table_C
Şimdi, Table_C'nin PrimaryKey'i, Foreign_d ve Foreign Key ve Table_B'ye karşı Foreign anahtarlı bir EmbeddedId'dir. Bu notu nasıl kaydederim?
Benim çözümdür: JPA spec izlediğinizde, TableC haritasına gerek yoktur olduğuna dikkat edecektir
@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;
}
İlişki çift yönlü – giulius