求解决Hibernate操作clob问题

mengwenjun987 2011-11-15 09:59:42


package BlobLoginDao;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.sql.Clob;
import java.sql.SQLException;

import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.hibernate.Login.Login;

public class ClobLogin {
private Session session = null;
private Transaction tran = null;
private static final ThreadLocal <Session>s = new ThreadLocal();

public ClobLogin(){

Configuration config = new Configuration().configure();
SessionFactory factory = config.buildSessionFactory();
this.session = s.get();
if(session == null){

this.session = factory.openSession();
s.set(session);
}


}
public int saveclob(Login login,String description){

tran = this.session.beginTransaction();
login.setDescription(Hibernate.createClob(description));
session.save(login);
tran.commit();

return login.getId();
}
public String getClob(int id) throws SQLException, IOException{
Login login = (Login)session.get(Login.class, id);
Clob desc = (Clob)login.getDescription();

Reader rd = desc.getCharacterStream();//字符输出流
BufferedReader br = new BufferedReader(rd);
String sdesc = br.readLine();
return sdesc;



}
}
配置文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.hibernate.Login.Login" table="LOGIN" schema="MWJ">
<id name="id" type="java.lang.Integer">
<column name="ID" precision="22" scale="0" />
<generator class="increment">
<param name="sequence">S_ID</param>
</generator>
</id>
<property name="username" type="java.lang.String">
<column name="USERNAME" length="20" />
</property>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" />
</property>
<property name="image" type="java.sql.Blob">
<column name="IMAGE" />
</property>
<property name="description" type="java.sql.Clob">
<column name="DESCRIPTION" />
</property>
</class>
</hibernate-mapping>
错误:

SLF4J: The requested version 1.6 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Hibernate: select max(ID) from LOGIN
Hibernate: insert into MWJ.LOGIN (USERNAME, PASSWORD, IMAGE, DESCRIPTION, ID) values (?, ?, ?, ?, ?)
id=36
Exception in thread "main" java.sql.SQLException: could not reset reader
at org.hibernate.lob.ClobImpl.getCharacterStream(ClobImpl.java:100)
at org.hibernate.lob.SerializableClob.getCharacterStream(SerializableClob.java:64)
at BlobLoginDao.ClobLogin.getClob(ClobLogin.java:48)
at com.hibernate.test.Test.main(Test.java:93)
...全文
324 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。

67,536

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧