我需要使用JPA @SecondaryTables连接3个表,其中A.id == B.id和B.id == C.id,我需要将这些表映射到单个实体。我应该尝试的方式是什么?
答案 0 :(得分:0)
由于A.ID = B.ID = C.ID,您可以只有2个辅助表,其关系为A.ID = B.ID,A.ID = C.ID.您的“主”表将是A,而B和C是您的辅助表。您可以在列声明中引用该表,如下所示。 (为简洁起见,注释中有许多其他参数)
@Entity
@Table(name = "A")
@SecondaryTables({
@SecondaryTable(name="B", @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID")),
@SecondaryTable(name="C", @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID"))
})
public Claass Blah {
@ID
private int id;
@Column(table = "B")
private String someColumn;
@Column(table = "C")
private String someOtherColumn;
etc...
}