来自NHibernate的我尝试在Java中做类似的事情(第一个例子):
http://ayende.com/Blog/archive/2009/06/03/nhibernate-mapping-ndash-ltmapgt.aspx
我有以下代码:
public class Box implements Serializable {
private Long boxId;
private Map<String, String> properties;
public String getProperty(String key) {
return properties.get(key);
}
}在制图中:
<map name="properties" access="field">
<key column="boxId"/>
<map-key column="propertyKey" type="string"/>
<element column="propertyValue" type="clob"/>
</map>但是,当我试图通过getProperty方法获取属性值时,会得到以下错误:
java.lang.ClassCastException:不能将$Proxy17转换为java.lang.String
我是不是忽略了一些显而易见的东西?我不太明白"$Proxy17“是什么。
发布于 2010-07-07 22:17:08
您可以尝试使用<element column="propertyValue" type="string"/>。Hibernate通常足够聪明,能够完成将clobs转换为字符串的所有工作。
发布于 2010-07-07 21:47:02
要将clob映射到映射中的字符串值,您可能需要创建一个自定义用户类型.参见本文:http://simoes.org/docs/hibernate-2.1/76.html
https://stackoverflow.com/questions/3199021
复制相似问题