1

所以我有一个类似于这个的类

public class MyClass{ 
...

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

...
}

当我尝试持久化类时,这会返回一个错误:

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

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

4

1 回答 1

1

我真的怀疑 Hibernate 是否能够为您处理这种类型的映射@ElementCollection。您可能需要定义一个新的复合键,将这两个Long映射键都包含为@Id字段,然后在Map<CompositeLong, Double>. 诚然,我正在对这些Long值所代表的含义做出一些假设,但如果没有更多上下文,很难说清楚。

于 2013-10-29T13:53:31.780 回答