难度使用JPA注释使用hibernate映射映射

时间:2011-07-21 07:52:09

标签: hibernate jpa map annotations mapping

对于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 


}

1 个答案:

答案 0 :(得分:2)

查看javadoc of @MapKey - 当您需要将值实体的特定字段视为键时使用它。

如果您的密钥和值应该是不同的实体,则需要使用@MapKeyJoinColumn(在JPA 2.0中引入)。

相关问题