我正在寻找如何在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在一个列表中取决于自然的价值?
提前感谢您的帮助。