Spring数据JPA在Map

时间:2018-02-01 18:56:14

标签: spring-data-jpa

我有一个会议实体,其关联存储在代表设备数量的地图中。

Meeting{
    @ElementCollection
    @MapKeyColumn(name = "equipment_type")
    @MapKeyEnumerated(EnumType.STRING)
    @OrderBy
    @JsonSerialize(using = EquipmentMapSerializer.class)
    private Map<EquipmentType, Integer> equipment = new HashMap<>();
}

当我尝试序列化会议实体时,设备图中的条目集顺序不固定,我想知道是否可以在Map上应用@OrderBy以使用map键进行排序。如果是这样,我应该添加什么以允许使用键进行排序。 感谢。

1 个答案:

答案 0 :(得分:0)

@OrderBy只对集合中的元素进行排序:

来自JPA Spec:

  

OrderBy注释指定了元素的排序   集合值关联或元素集合应具有何时   检索关联或集合。

JPA不会根据密钥对地图进行排序。