JDK 1.6x、Hibernate 3.2.7、Oracle 10g (ojdbc14.jar)
我有一个包含 clob 的(实体)类。通过 RESTful 调用,我收到了一个字符串,该字符串将成为 clob 的内容。我无法将字符串塞入一个 clob 以供以后持久使用。这是上课....
public class MyClass implements java.io.Serializable {
private static final long serialVersionUID = 5507279748316866736L;
private long id;
private String name;
private String description;
private java.sql.Clob featuresJson;
...etc...
这是反序列化代码...
try {
String jsonStr = msoNode.path("features_json").getTextValue();
SerialClob clob = new SerialClob(jsonStr.toCharArray());
mso.setFeaturesJson(clob);
} catch (Exception e) {
log.error("MyClassDeserializer.deserialize(): Exception deserializing the features JSON." + e.getMessage());
}
反序列化后,我进入道的合并语句......
MyClass savedOverlay = myClassDao.merge(overlay);
其中“overlay”是一个反序列化的“MyClass”实例。此时我可以窥视 clob 内部并查看数据——但是返回的实例的 clob 字段为空,并且数据库中的 clob 列也为空!
我的反序列化代码有什么问题?我尝试了其他一些事情,但每次都失败(至少这是一致的!)