1、首先保证Oracle10g的JDBC驱动是10g以上的版本,即ojdbc14.jar文件。
applicationContext.xml
文件配置:
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.jdbc.fetch_size">100</prop>
<prop key="hibernate.jdbc.batch_size">50</prop>
<prop key="hibernate.use_outer_join">true</prop>
<!--只需加入这一句话即可,意思是将大字符串当作Clob来处理-->
<prop key="hibernate.connection.SetBigStringTryClob">true</prop>
</props>
</property>
2、加上以上红色字段的配置后,clob类型的数据在java中即可按String类型来处理了。
//html字段即是Clob类型
coll = getHibernateTemplate().find(
"SELECT new com.dao.YsZyBlHtml(blbh,html) from YsZyBlHtml where blbh=?", al_blbh);
Iterator iter;
iter = coll.iterator();
StringBuffer html = new StringBuffer();
if (coll == null||coll.size()==0) {
html.append("<HTML>");
html.append("/n");
html.append("<head>");
html.append("</head>");
html.append("<body>");
html.append("<div>");
html.append("<h1>对不起,该病历未能生成HTML文件,请先将病历打印后生成HTML!</h1>");
html.append("</div>");
html.append("</body>");
html.append("</HTML>");
} else {
while (iter.hasNext()) {
YsZyBlHtml row = (YsZyBlHtml) iter.next();
html.append(row.getHtml());
}