1.实体类 需要一个Strin各类型的辅助类
private Clob plContent;
private String plcontent;
2. 配置类
<property name="plContent" type="java.sql.Clob" >
<column name="PL_CONTENT" >
<comment>内容</comment>
</column>
</property>
3.action
保存:
policy.setPlContent(Hibernate.createClob(policy.getPlcontent()));
this.policyBiz.save(policy);
读取
instance = (Policy) getHibernateTemplate().get(Policy.class, id);
Clob PlContent = instance.getPlContent();
instance.setPlcontent(PlContent.getSubString(1, (int) PlContent.length()));
4.dao层
//创建空的clob占位
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
session.beginTransaction();
policy.setPlContent(Hibernate.createClob(" "));
session.save(policy);
session.flush();
session.refresh(policy, LockMode.UPGRADE);
//将java.sql.clob 转换为oracle.sql.clob
SerializableClob sc = (SerializableClob) policy.getPlContent();
java.sql.Clob wrapclob = sc.getWrappedClob();
oracle.sql.BLOB clob = (oracle.sql.CLOB) wrapclob;
//将String内容,转换成clob
Writer writer;
writer = clob.getCharacterOutputStream();
writer.write(policy.getPlcontent());
writer.close();
session.save(policy);
5.oracle存储的字段为 clob