insert 语句不能插入超长字段 ,使用clob类型字段在hibernate中的解决之道

[b].hbm.xml文件中:[/b]
<property name="jbqk" type="clob">
<column name="JBQK" />
</property>
[b]pojo类中字段类型:[/b]
private Clob jbqk;
[quote]
[b]Manager 类: [/b]
TqaDZdsyhfxbg tqaDZdsyhfxbg = (TqaDZdsyhfxbg)dataclass;
tqaDZdsyhfxbg.setJbqk(Hibernate.createClob(" "));// 注意这里的参教是一个空格
tx = session.beginTransaction(); //事务处理


session.save(tqaDZdsyhfxbg);
// 调用flush方法,强制Hibernate立即执行insert sql
session.flush();
// 通过refresh方法,强制Hibernate执行select for update
session.refresh(tqaDZdsyhfxbg, LockMode.UPGRADE);

SerializableClob clob = (SerializableClob) tqaDZdsyhfxbg.getJbqk();
Clob jClob = clob.getWrappedClob();
CLOB oClob = (CLOB)jClob;
java.io.Writer writer = oClob.getCharacterOutputStream();
String content=tqaDZdsyhfxbg.getJbqkString();
writer.write(content);
writer.close();

[/quote]

注解:jbqk是个clob字段类型,TqaDZdsyhfxbg 是个持久类,上面的manager类就是向表中写入大文本字段的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值