有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate JPA映射具有一个值为列表的映射

我正在研究如何在JPA中映射一个hashmap,其值是一个列表

我有两个实体:

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;
}

你会猜到,地图当然不起作用,因为它遗漏了一些东西,告诉它,它不只是其中的一个实体

其余的都可以,如果我按常规列表更改地图,效果会很好。 那么,我如何根据自然的价值在一个列表中“分组”

提前感谢你的帮助


共 (0) 个答案