【问题标题】:JPA 2: How to use Map<String , Employee> in OneToMany Relationship between EntitiesJPA 2:如何在实体之间的 OneToMany 关系中使用 Map<String , Employee>
【发布时间】:2013-01-23 06:34:52
【问题描述】:

当我尝试在实体之间的 OneToMany 关系中使用 Map 时,我遇到了问题。当我尝试在地图中插入数据时,会抛出以下异常

Exception in thread "main" org.hibernate.HibernateException: null index column for collection

请解释这个异常并给我一个在关系中使用Map&lt;&gt; 的小例子。

【问题讨论】:

  • 你能解释一下,你为什么用Map&lt;String, String&gt;而不是Set&lt;YourEntity&gt;
  • 其实我已经为 OCE-JPA 认证做准备了。
  • 从什么时候开始 Map 是一种“关系”?
  • 对不起我的错误,与它的关系 Map 。请给我一些小例子如何使用它,并使用 Map. 插入元素
  • 当我尝试使用@MapKey 注解时,程序运行并且不需要在地图中添加元素,但是@MapKeyColumn 注解有什么问题。

标签: java hibernate exception jpa jpa-2.0


【解决方案1】:

这里有一个很好的解释: http://en.wikibooks.org/wiki/Java_Persistence/Relationships#Maps

对于 JPA2,我引用:

JPA 2.0 允许保留键不是目标对象一部分的 Map。 Map 键可以是以下任意一种:

  • 一个基本值,存储在目标表或连接表中。
  • 一个嵌入式对象,存储在目标表或连接表中。
  • 另一个实体的外键,存储在目标表或连接表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多