按HashMap字段对实体排序

时间:2014-12-04 14:56:59

标签: hibernate jpa spring-data spring-data-jpa

我有实体,其中包含一个Map字段。我需要按地图值对实体进行排序。我使用Spring-Data存储库。所以我将带有排序列表的PageRequest对象传递给findAll存储库方法。不幸的是,对Map字段进行排序会返回错误,该属性未定义(适用于所有其他字段) - 我厌倦了附加数据',' additionalData.key',' additionalData.value& #39 ;.我应该使用什么样的映射?

class Employee{
  @Column
  private String firstName;

  @Column
  private String lastName;

  @ElementCollection
  @Fetch(FetchMode.JOIN)
  @CollectionTable(name="ADDITIONALDATA", joinColumns=@JoinColumn(name="EMP_ID"))
  @MapKeyColumn(name="Key")
  @Column(name="Value")
  private Map<String, String> additionalData;
}

Sort.Order order = new Sort.Order(Sort.Direction.ASC, "additionalData");
Sort sort = new Sort(order);
PageRequest pageRequest = new PageRequest(0, 20, sort);
employeeRepository.findAll(pageRequest);

0 个答案:

没有答案