【发布时间】:2018-03-15 02:38:49
【问题描述】:
我需要使用 JPA @SecondaryTables 连接 3 个表,其中 A.id == B.id 和 B.id == C.id 我需要将这些表映射到单个实体。我应该尝试什么方法?
【问题讨论】:
我需要使用 JPA @SecondaryTables 连接 3 个表,其中 A.id == B.id 和 B.id == C.id 我需要将这些表映射到单个实体。我应该尝试什么方法?
【问题讨论】:
由于 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...
}
【讨论】: