Java 在Hibernate中如何在映射中持久化映射?

Java 在Hibernate中如何在映射中持久化映射?,java,hibernate,hibernate-annotations,Java,Hibernate,Hibernate Annotations,所以我有一个类似的课程 public class MyClass{ ... @ElementCollection private Map<Long,Map<Long,Double>> Vs = new HashMap<Long, Map<Long,Double>>(); ... } 我认为错误是因为原始地图中有一个地图的注释为@ElementCollection。你知道如何解决这个问题吗?我真的怀疑Hibernate是否能够通过@Elem

所以我有一个类似的课程

public class MyClass{ 
...

@ElementCollection
private Map<Long,Map<Long,Double>> Vs = new HashMap<Long, Map<Long,Double>>(); 

...
}

我认为错误是因为原始地图中有一个地图的注释为
@ElementCollection
。你知道如何解决这个问题吗?

我真的怀疑Hibernate是否能够通过
@ElementCollection
为你处理这种类型的映射。您可能需要定义一个新的复合键,将这两个
Long
映射键都包含为
@Id
字段,然后在
映射上使用元素集合。诚然,我正在对那些
值表示的内容进行一些假设,但是如果没有更多的上下文,很难判断。

我真的怀疑Hibernate是否能够仅使用
@ElementCollection
就为您处理这种类型的映射。您可能需要定义一个新的复合键,将这两个
Long
映射键都包含为
@Id
字段,然后在
映射上使用元素集合。诚然,我正在对那些
Long
值表示的内容进行一些假设,但是如果没有更多的上下文,很难判断

org.hibernate.MappingException: Could not determine type for: java.util.Map, at table: MyClass_Vs, for columns: [org.hibernate.mapping.Column(Vs)]