我似乎在映射休眠中的集合时遇到问题,其中键和资源都是休眠要映射的实体。
而从文档(我这个问题的主要资源是这个,但我当然欢迎任何其他资源: 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;
关键类:
@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 用于底层数据库。
我相信您可能会猜到,任何涉及单词 map、hibernate、entity 和 key 的搜索都会返回大量与此问题无关的问题,尽管我确信这一定是经常发生的情况的映射情况。
我不经常提交问题,但我是一个活跃的读者,所以如果需要更多信息,请告诉我。