写个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); |
本文详细介绍了在使用Hibernate查询Oracle或SQLServer数据库时,遇到字符截断问题的原因及解决方法。主要涉及将字符类型转换为VARCHAR2类型或使用TRIM函数,并展示了如何通过创建SQLQuery来指定返回列的类型。
620

被折叠的 条评论
为什么被折叠?



