我正在使用JPA 1.0,并且有以下表格,即类型,指南和地址(为了清晰起见,简化了名称并以粗体突出显示)这是一个场景,其中3个表之间的关系建立在复合键上。每个表的非关键字段都在实线下方。
的关系
类型一个-------->许多指南
指南许多< ----------一个地址
类型
代码PK
Date1 PK
姓名
指南
代码FK
Date1 FK
地址标识符FK
Date2 FK
价值
地址
Addr Identifier PK
Date2 PK
邮政编码
(原谅上面的格式化问题) 我想从Type表开始并取消复合键Code和Date1,从Guide表中获取多行(作为列表)。然后使用Addr Identifier和Date2从行中我想在Address表中获得一行。请注意这些是参考表,数据没有变化,因此这些表中没有删除或更新
我尝试过这个简单的注释列表,返回空列表。 (代码是为了清晰起见)
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()时,我得到一个空列表。
你能建议一个解决方案吗?
我还需要指南和地址实体之间的映射解决方案。
此致