我正在使用 JPA 1.0 并有以下表格,即类型、指南和地址(为清楚起见简化名称并以粗体突出显示)这是一个场景,其中 3 个表之间的关系建立在复合键上。每个表的非关键字段都在实线下方。
关系
Type One --------> Many Guide
Guide Many <--------- 一个 地址
类型
代码 PK
日期1 PK
姓名
指南
代码 FK
日期 1 FK
地址标识符 FK
日期2 FK
价值
地址
地址标识符 PK
日期2 PK
邮政编码
(请原谅上面的格式问题)我想从 Type 表开始并取消复合键 Code 和 Date1,从 Guide 表中获取多行(作为列表)。然后从我想在地址表中获取单行的行中使用 Addr Identifier 和 Date2 。请注意,这些是参考表,数据不会更改,因此这些表中的任何一个都没有删除或更新
我已经尝试过这组简单的注释,它们返回空列表。(为了清楚起见,代码被简化)
1)
@Entity
@Table(name = "Type")
public Class Type
@OneToMany(mappedBy = "type", fetch = FetchType.EAGER)
private List<Guide> listGuide;
getListGuide() {
return listGuide;
}
2)
@Entity
@Table(name = "Guide")
public Class Guide
@ManyToOne
@JoinColumns({@JoinColumn(name = "Code"),
@JoinColumn(name = "Date1") })
private Type type;
当我使用 getListGuide() 时,我得到一个空列表。
你能建议一个解决方案吗?
我还需要 Guide 和 Address 实体之间的映射解决方案。
问候,