映射一个java.util.map 在使用Hibernate JPA注解(Mapping a

2019-07-31 13:16发布

我似乎,在Hibernate中,其中的关键和资源是由Hibernate映射两个实体映射集合类的问题。

而从文档(我对这个问题的主要资源一直是这个,但我当然欢迎任何人: http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.html )这样看来,这应该是一个相对简单的任务,我似乎无法获得地图的关键坚持。

因为它代表我的代码如下所示:

父类:

@Entity
public class Parent {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @MapKey
    @MapKeyClass(Key.class)
    @ManyToMany(cascade = CascadeType.ALL)
    private Map<Key, Resource> map;

Key类:

@Table(name="ParentKey")
@Entity
public class Key implements Comparable<Key> {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column(name = "hierarchyKey")
    private int key;

资源类是一个相对简单的POJO和持续正常,所以我会假设,这个问题是不是在这个类。

我也遇到注释@MapKeyManyToMany上的休眠论坛的一些文档,但我相信这已被弃用。

数据库的架构是不重要的,在这个阶段,主要关注的是只要确保一切持续到数据库中。 我们正在使用MySQL的基础数据库。

正如我敢肯定,你可能已经猜到,任何涉及的话地图搜索,休眠,实体按键返回大量没有与此问题相关的问题,但我敢肯定,这必须是经常发生在条款的情况映射的情况。

我不经常提出的问题,但我是一个积极的读者,所以请让我知道是否需要任何更多的信息。

Answer 1:

这工作的规定。 操作不级联到地图的关键。 他们只级联的值。 在文档这种杂糅了以下的话:

当目标集合是一个java.util.Map,级联元素应用于映射值。

重点必须单独保留。



文章来源: Mapping a java.util.map in hibernate using JPA annotations