Hibernate JPA映射具有值为列表的映射

时间:2014-04-01 17:04:33

标签: java hibernate jpa enums hashmap

我正在寻找如何在JPA中映射一个散列图,其值为列表。

我有2个实体:

EntityA {
  @Id
  @GeneratedValue
  private Integer id;

  @MapKey(name = "nature")
  @MapKeyEnumerated(EnumType.STRING)
  @OneToMany(mappedBy = "entityA", cascade = CascadeType.ALL)
  private Map<NatureEnum, List<EntityB>> mapEntityB = new HashMap<NatureEnum, List<EntityB>>();     
}


EntityB {
  @Id
  @GeneratedValue
  private Integer id;

  @ManyToOne
  @JoinColumn(name = "ID_ENTITYA", nullable = false)
  private EntityA entityA;

  @Column(name = "NATURE", nullable = false)
  @Enumerated(EnumType.STRING)
  private NatureEnum nature;
}

你会猜到地图当然没有用,因为它没有告诉它它不仅仅是一个EntityB。

其余的确有效,如果我通过常规列表更改地图,它可以正常工作。 那么我怎样才能成为&#34; group by&#34;我的实体B在一个列表中取决于自然的价值?

提前感谢您的帮助。

0 个答案:

没有答案
相关问题