我有包含两个元件的集合作为这样的实体对象:如何创建包含2个元素集合的实体?
@Entity
public class Report {
// Electronic transactions items map
@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "catElecItem_key", nullable = false)
@Cascade(value = { CascadeType.ALL })
public Map<Category, ReportItem> catElecItemMap;
// Branch transactions items map
@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "catBranchItem_key", nullable = false)
@Cascade(value = { CascadeType.ALL })
public Map<Category, ReportItem> catBranchItemMap;
}
当正在创建的表,一个表称为Report_ReportItem正在生成做类别和映射的之间的映射ReportItem。然而,当试图保存地图时失败,enther * catElecItem_key *或* catBranchItem_key *将为空。 如果我尝试使用nullable = true进行注释,表格将无法创建,因为两个键都用作主键定义的一部分。
是否可以指定每个集合使用不同的表?