你用oracle里的ojdbc.jar应该就可以了.不要用服务器自带的,会有问题的.
解决方案 »
- hibernate save 自动提交,但是delete,update却不行,求解惑!
- 根据给定的时间获得其他的时间
- Java调用matlab处理复杂运算,jsp再调用java
- MySQL 树 递归
- EJB独立工作能力讨论
- 文本框不为特殊字符的验证的JS怎么写?
- 讨论:在j2ee系统中某些复杂的数据处理使用存储过程是否符合j2ee规范?
- 急问jboss到底能同时支持多少人在线啊?
- 高手帮帮我,看看这个AXIS服务器端报出的错误是什么意思?怎么造成的?
- 没有maven dependencies library文件夹,全都是散的jar包
- jxta的id问题?
- web service 客户端stub问题求助
<property name="workSum" column="WORK_SUM" type="java.sql.Clob" />
去掉type="java.sql.Clob",变成<property name="workSum" column="WORK_SUM">然后你的代码这样写
s = sf.openSession();
tx = s.beginTransaction();hs = new HS();
hs.setWorkSum(Hibernate.createClob(" "));
s.save(hs);
s.flush();
s.refresh(hs, LockMode.UPGRADE); //关键是这里oracle.sql.CLOB clob = (oracle.sql.CLOB) hs.getWorkSum();
java.io.Writer pw = clob.getCharacterOutputStream();
pw.write(content);
pw.close();
tx.commit();
s.close();
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.sql.Clob;import cirrus.hibernate.Hibernate;
import cirrus.hibernate.HibernateException;
import cirrus.hibernate.UserType;public class StringClobType implements UserType
{
public int[] sqlTypes()
{
return new int[] { Types.CLOB };
} public Class returnedClass()
{
return String.class;
} public boolean equals(Object x, Object y)
{
return (x == y)
|| (x != null
&& y != null
&& (x.equals(y)));
} public Object nullSafeGet(ResultSet rs, String[] names, Object owner)
throws HibernateException, SQLException
{
Clob clob = rs.getClob(names[0]);
return clob.getSubString(1, (int) clob.length());
} public void nullSafeSet(PreparedStatement st, Object value, int index)
throws HibernateException, SQLException
{
st.setClob(index, Hibernate.createClob((String) value));
} public Object deepCopy(Object value)
{
if (value == null) return null;
return new String((String) value);
} public boolean isMutable()
{
return false;
}
}
然后修改你的hbm配置文件中的类型,使它的类型使用你自己定义的类型<property name="workSum" column="WORK_SUM" type="mypackage.StringClobType"/>
然后你就可以在你的持久类中把workSum的类型直接改成String使用了!