4

我正在尝试存储用户定义的键值参数的 LinkedHashMap。为此,我创建了一个基于 jquery 的动态 html 表,允许用户创建一个新的“键值行”、删除现有的或向上或向下移动行。

现在,我可以将 DOM-ids 输入字段映射到我的持久性实体,一个用@ElementCollection 注释的映射。不幸的是 - 刷新页面后 - 只要我允许用户将键、值对移动到特定索引,似乎是不可接受的任意顺序。

这是我的 JPA-Entity 的 map 成员变量:

@ElementCollection
@CollectionTable(
        name="VCTRL_SELECTIONBOXES_VALUEMAP",
        joinColumns=@JoinColumn(name="SELECTIONBOXES_ID")
)
@Column(name="MAP_VALUE")
@MapKeyColumn(name="MAP_KEY")
private Map<String, String> valueMap = new LinkedHashMap<String, String>();

你知道如何应对吗?

4

1 回答 1

1

createTimestamp对订单没有帮助-您不能上下移动行并依靠它进行排序。似乎您唯一的选择是使用整数列“order”创建单独的对象并在保存之前填充它,然后在加载时按它排序。但它可能不适用于CollectionTable,使用标准OneToMany

于 2016-08-19T11:50:18.670 回答