写个SQL语句:
select col1,col2,'插入信息' from tabName;
发现通过hibernate的createSQLQuery查询数据,结果集中第三列
我需要的字符串 “插入信息” 变成了 “插” ,debug发现第三列是character类型。
百度找到解决方法。
在oracle或sqlServer下会遇到,查询数据表字段类型为char,如果使用Hibernate原生SQL去执行查询,往往只会返回 一个字符.原因是char在java中只有两个字节. 解决方法 1.改成 select cast(列 as varchar2(列大小)) from 表;或者改为 select trim(列) from 表 2.指定列返回的类型. SQLQuery query = session.createSQLQuery(); query.addScalar(columnAlias,Type); |