如何使用注解在Hibernate中映射一个“Map”?
如何使用注解在Hibernate中映射一个“Map”?
如何使用注解将实体中的字段映射为一个"Map"(Hashtable),其中键为String,值为给定对象?该对象已经使用Hibernate数据库进行了注释,并且它的实例已经存储在数据库中。
我找到了使用简单键和值定义映射的语法,如下所示:
@Entity @Table(name = "foo") public class Foo { ... @MapKeyColumn(name = "name") @ElementCollection @CollectionTable(name = "ages", joinColumns = @JoinColumn(name = "id")) @Column(name = "age") private Mapages; ... }
奇怪的是,如果键是实体,值是简单类型,可以这样写:
@Entity @Table(name = "foo") public class Foo { ... @MapKeyColumn(name = "person_id") @ElementCollection @CollectionTable(name = "ages", joinColumns = @JoinColumn(name = "id")) @Column(name = "age") private Mapages; ... } @Entity @Table(name = "person") public class Person { ... @Column(name = "name") private String name; ... }
但是我不知道如何将其用于简单的键到元素的映射,并且我也不知道如何使用注解来完成这个过程。