我的谷歌福使我失败了。我正在做一个小型数据库应用程序,它从文件中读取一些数据以及当前存储在实体地图中的一些元数据。我受够了它总是以随机顺序显示。
那么我可以通过某种方式将LinkedHashMap或@OrderColumn与Maps一起使用来保留插入顺序吗?
@Entity
public class MooData
{
@OrderColumn
@ElementCollection
private List<BigDecimal> data;
@ElementCollection
private Map<String, String> properties;
}
最佳答案
在JPA 2.0规范中,我找不到任何证据表明@OrderColumn
注释应该适用于Map
。引用规格:
11.1.39 OrderColumn注释
OrderColumn
注释指定一个
用于维护
列表的持久顺序。的
持续性提供者负责
为了维持秩序
检索并在数据库中。的
持续性提供者负责
用于更新订单
刷新到数据库以反映
任何插入,删除或重新排序
影响列表。 OrderColumn
注释可以在
一对多或多对多
关系或元素
采集。 OrderColumn
注释在的侧面指定
引用该关系的关系
将要订购的集合。的
订单列不可见
实体或可嵌入实体的状态
类。
如果要保留订单,请使用List
(在您的情况下为Embeddable
)。使用Map
,可以通过键访问值。