【问题标题】:JPA2 persistence for a @ManyToMany Map containing a Set包含 Set 的 @ManyToMany 映射的 JPA2 持久性
【发布时间】:2010-11-08 15:42:10
【问题描述】:

我需要使用 JPA2 注释来持久化 Map<Item, Set<Item>> 类型的成员。 关系是多对多的,Item 对象是实体。

我应该创建一个单独的中间实体持有Set<Item> 还是可以直接映射?

如果缺少某些上下文,请告知。

【问题讨论】:

    标签: java orm jpa jpa-2.0


    【解决方案1】:

    我应该创建一个单独的中间实体持有Set<Item> 还是可以直接映射?

    JPA 不支持嵌套集合关系(Lists 的ListSets 的Map 等)。这是规范中关于Map的相关部分:

    2.7 地图集合

    元素和实体的集合 关系可以表示为 java.util.Map 集合。

    map key 和 map value 可以分别是 一个基本的 类型、可嵌入类或 实体。

    ...

    所以是的,使用持有Set<Item> 的实体,然后将您的关系映射为Map<Item, MyHolder>

    参考文献

    【讨论】:

    • 非常感谢帕斯卡。不完全是我所希望的,但至少我知道我在这里只有一种可能的解决方案。
    猜你喜欢
    • 2020-06-22
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2011-01-30
    • 2016-05-03
    • 2013-11-15
    • 2013-10-18
    • 1970-01-01
    相关资源
    最近更新 更多