有些基本的东西我不了解JPA @MapKey元素的语义.
我正在尝试保存具有实体键和实体值的Map.架构是自动的
由hibernate生成.它生成一个连接表,将值实体映射到
包含实体(具有Map属性)并忽略键.
所以有效它只是把它当作一组价值观而忽略了钥匙,
据我所知.
我在这里失踪了什么?
谢谢
@Entity
public class PracticeMap {
@javax.persistence.OneToMany(cascade = CascadeType.ALL)
@javax.persistence.MapKey
public Map<KeySample, ValueSample> getMap1() {
return map1;
}
//more unrelated/standard bits here
}
最佳答案 查看
javadoc of @MapKey
– 当您需要将值实体的特定字段视为键时使用它.
如果您的密钥和值应该是不同的实体,则需要使用@MapKeyJoinColumn
(JPA 2.0中引入).