【发布时间】:2011-01-15 14:40:12
【问题描述】:
您好,我对休眠世界很陌生,似乎遇到了障碍。我需要存储的对象中有一个哈希图。
private Map<String, SentimentFrequencyCounts> modelData = null;
问题是我永远不需要对这张地图进行搜索、排序或做任何事情我只需要将它与对象一起保存并在加载对象时加载它,所以我希望 hibernate 有一些方法可以只需序列化它,然后将其存储在 CLOB 或 BLOB 字段中,但我似乎找不到任何方法来做到这一点。
所以我接下来尝试让hibernate像这样保存它
@OneToMany(mappedBy="ngram_data", fetch = FetchType.EAGER)
@MapKey(name = "attributeName")
public Map<String, SentimentFrequencyCounts> getModelData() {
return modelData;
}
但这在运行时给了我以下异常
org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class:
SentimentFrequencyCounts 类是我试图坚持的类的内部类。所以基本上我认为我真的不了解hibernate如何用于hashmap。真的很遗憾,我不能让它序列化并将其集中在一个列中。
提前感谢您的帮助和时间。
【问题讨论】:
-
你是如何映射
SentimentFrequencyCoungs的?它是一个单独的实体吗?复合材料? -
我有 SentimentFrequencyCount(它是可序列化的)被标记为 @Embeddable,但我也试图让它成为一个实体,但没有运气