之前遇到过几次使用JPA映射Entity中的Map成员时遇到的问题,有一些注解的使用很容易混淆,所以自己在这记一下。
1. Map<String,String>的映射
这种Map的key和value都是字符串类型,或者是其他基础类型的,映射时可使用下面的方式:
@ElementCollection
@CollectionTable(name="table_name")
@MapKeyColumn(name="propKey")
@Column(name="propValue")
private Map<String,String> properties = new HashMap<String,String>();
2. Map<String,Object>的映射
key是基础类型,value是对象
@OneToMany
@JoinTable(name="Amplifier_PROP",inverseJoinColumns=@JoinColumn(name="propValue"))
@MapKeyColum