有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

包含集合的@ManyToMany映射的java JPA2持久性

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

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

如果缺少某些上下文,请提供建议


共 (1) 个答案

  1. # 1 楼答案

    Should I create a separate intermediary Entity holding Set<Item> or is a direct mapping possible?

    JPA不支持嵌套的集合关系(Listof ListMapof Set等)。以下是规范中关于Map的相关章节:

    2.7 Map Collections

    Collections of elements and entity relationships can be represented as java.util.Map collections.

    The map key and the map value independently can each be a basic type, an embeddable class, or an entity.

    ...

    因此,是的,使用一个包含Set<Item>的实体,然后将您的关系映射为Map<Item, MyHolder>

    参考文献