我正在使用带有 Spring 3.0.2 版的 Hibernate Tools 3.2.1.GA。我想将数据插入到 Oracle (10g) 数据库字段的类型clob
如下。
Clob c=Hibernate.createClob(request.getParameter("someTextFieldValueOnJSPPage");
pojoObj.setSomeClobProperty(c);
它工作得很好但是当我尝试使用CKEditor插入数据流时, 我的 JSP 页面上的演示<textarea></textarea>
(CKEditor 只是呈现一个 HTML元素)可能涉及格式化文本以及图像、flash 等,它会引发以下异常.
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.exception.GenericJDBCException: could not update: [model.Cms#1]
org.hibernate.exception.GenericJDBCException: could not update: [model.Cms#1]
java.sql.SQLException: operation not allowed: streams type cannot be used in batching
如何解决该异常?这是Oracle驱动程序问题还是其他问题?我正在使用ojdbc14.jar
, Oracle JDBC Driver version - 9.0.2.0.0
。
更新:
使用该Clob
类型的实体之一是
public class Cms implements java.io.Serializable
{
private BigDecimal cmsId;
private Clob aboutUs; //I'm currently dealing with this property.
private Clob contactUs;
private Clob privacyPolicy;
private Clob returnPolicy;
private Clob shippingPolicy;
private Clob termsOfUse;
private Clob exchangeLinks;
private Clob disclaimer;
private Clob aboutProducts;
private Clob purchasingConditions;
private Clob faq;
//Parameterized constructor(s) along with the default one as and when needed.
//Getters and setters.
}
在我的 Spring 控制器类中,我使用以下代码对Clob
Oracle 中的类型执行插入操作。
Cms c=new Cms();
c.setCmsId(new BigDecimal(0));
c.setAboutUs(Hibernate.createClob(request.getParameter("txtAboutUs")));
session.save(c);
session.flush();
session.getTransaction().commit();
model.put("status", "1");
model.put("msg","Insertion done successfully.");
//setParameter(cb);
wheremodel
是Spring 控制器类中方法Map model
的一个形式参数,submit()
当在 JSP 页面上单击提交按钮时调用该方法。
我在 Spring 控制器类中使用以下简单方法检索数据
private void getData(Map model)
{
Session session=NewHibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List<Cms>list=session.createQuery("from Cms order by cmsId desc").list();
model.put("list", list);
session.flush();
session.getTransaction().commit();
}
尝试按照此处提到的方法进行操作,但无济于事(我面临与该问题中指定的相同异常)。