请问大家,如何通过hibernate读取数据库中Clob字段呢?听说最新的hibernate已经添加对这个的支持了,但是我没找到如何使用。 我用下面这段代码读取Clob字段时,一直报错 ”
ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB“
我用的如下代码,在list=query.list();语句处报错,不能正确读取Clob字段,请教如何编写能正确读取这种字段的代码!
public static List databaseConnection(String hql)
{
List list=new ArrayList();
SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session=sf.openSession();
Transaction transaction=session.beginTransaction();
Query query=null;
try
{
query=session.createQuery(hql);
list=query.list();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
session.close();
}
return list;
}
其实你不用使用clob类型 直接将映射的实体bean clob字段类型修改为String类型,同时也要将对应的映射的xml对应修改 不用设置长度 使用的时候完全可以按照字符串进行处理就可以
我知道了,是Clob和Blob的查询语句中不能有distinct、insert、update等操作,我在查询的时候,在HQL语句中加入了distinct,删除这个就能跟查询string类型的变量一样了。