0
私は奇妙なデータベース設計を実装しようとしていますが、その方法を理解できません。 2つのエンティティの間には、構成された主キーが両方とも存在する多対1の関係があります。外部キーは、他のエンティティのプライマリキーに存在するフィールドとプライマリキーに存在しないフィールドで構成されます。誰かが私を助けてくれることを願います。プライマリキーと非プライマリキーの2つのフィールドで構成される外部キーJPA
@Entity
@Table(name = "A")
public class A {
@EmbeddedId
private Aid id;
@JoinColumn(name = "FOREIGN_KEY_FIELD2", referencedColumnName = "foreignKeyField2")
private B foreignKeyField2;
}
@Embeddable
public class Aid{
@JoinColumn(name = "FOREIGN_KEY_FIELD1", referencedColumnName = "foreignKeyField1")
private B foreignKeyField1;
private String otherField;
}
@Entity
@Table(name = "B")
public class B {
@EmbeddedId
private Bid id;
@OneToMany(targetEntity = A.class, fetch = FetchType.LAZY)
@JoinColumns({ @JoinColumn(name = "FOREIGN_KEY_FIELD1", referencedColumnName = "foreignKeyField1"),
@JoinColumn(name = "FOREIGN_KEY_FIELD2", referencedColumnName = "foreignKeyField2") })
private List<A> as;
}
@Embeddable
public class Bid {
private String foreignKeyField1;
private String otherField;
}
ありがとうございます。