我有一个由连接表映射的列表。我需要做的是制作&#34;布局&#34;的组合。和&#39;观点&#39;不是唯一的,也有索引。我想要做的是创建一个Map<Integer, View>
,并以某种方式使联接表有第三列“id”#39;。会发生什么是获取该布局的视图,并使用连接表中的id作为地图中的关键字填充它们。
知道如何做到这一点,或者对我需要的东西更好的想法吗?
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(
name = "layout_view",
joinColumns = {@JoinColumn(name = "layout_id", nullable = false)},
inverseJoinColumns = {@JoinColumn(name = "view_id", nullable = false)}
)
private List<View> views;
我的想象:
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(
name = "layout_view",
joinColumns = {@JoinColumn(name = "layout_id", nullable = false)},
inverseJoinColumns = {@JoinColumn(name = "view_id", nullable = false)}
//some code for third column and populating it as keys
)
private Map<Integer, View> views;
答案 0 :(得分:1)
您正在使用List,已经可以为布局创建多个相同的视图。
要保留(并能够更改)订单,请参阅OrderColumn和Hibernate documentation about ordered lists。
相同的文档还描述了如何使用地图实现原始想法,如果你真的想要它。