问题描述
- 如何用hibernate读取Clob字段
-
请问大家,如何通过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类型的变量一样了。
解决方案三:
JDBC读取clob字段
时间: 2024-11-02 20:52:33