所以我有一个与此类似的类(class)
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)]
我认为错误是因为原始 map 内有一个 map 具有@ElementCollection
注释。知道如何解决这个问题吗?
最佳答案
我真的怀疑 Hibernate 是否能够仅用 @ElementCollection
来为您处理这种类型的映射。 。您可能需要定义一个新的复合键,其中包含 Long
将键映射为 @Id
字段,然后在 Map<CompositeLong, Double>
上使用元素集合。当然,我正在对这些 Long
做出一些假设值代表,但如果没有更多上下文就很难判断。
关于java - 如何在 Hibernate 中将 map 保存在 map 内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632062/