gpt4 book ai didi

java - JPA Map 映射以连接具有 3 列的表

转载 作者:行者123 更新时间:2023-11-28 23:15:06 27 4
gpt4 key购买 nike

我有一个由连接表映射的列表。我需要做的是使“布局”和“ View ”的组合不是唯一的,并且每个组合都有一个索引。我想做的是制作 Map<Integer, View>并以某种方式使连接表具有第三列“id”。将发生的事情是获取该布局的 View ,并使用连接表中的 ID 作为 map 中的键来填充它们。

知道如何做到这一点,或者对我的需要有更好的想法吗?

@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;

最佳答案

您已经可以通过使用列表为一个布局拥有多个相同的 View ,正如您正在做的那样。

要保留(并能够更改)顺序,请参阅 OrderColumnHibernate documentation about ordered lists .

同一文档还介绍了如何使用 map 实现您的原始想法(如果您确实需要的话)。

关于java - JPA Map 映射以连接具有 3 列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44227148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com