【问题标题】:difficulties Mapping maps with hibernate using JPA annotations使用 JPA 注释使用 hibernate 映射映射的困难
【发布时间】:2023-03-22 15:42:01
【问题描述】:

对于 JPA @MapKey 元素的语义,我可能有一些基本的不懂。 我正在尝试保存具有实体键和实体值的 Map。架构是自动的 由休眠生成。它生成一个连接表,将值实体映射到 包含实体(具有 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 


}

【问题讨论】:

    标签: hibernate jpa map annotations mapping


    【解决方案1】:

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

    如果你的 key 和 value 应该是不同的实体,你需要使用@MapKeyJoinColumn(在 JPA 2.0 中引入)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-06
      • 2010-10-22
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      相关资源
      最近更新 更多