毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

Hibernate执行SQL输入的内容只显示字段的第一个字

更新时间:2012-5-15:  来源:毕业论文

String sql = "SELECT ts.LIFNR, se.EMAIL,se.SID from T_SUPPLIER ts LEFT OUTER JOIN T_SUPPLIEREMAIL se ON ts.LIFNR = se.LIFNR where 1 = 1";

Session session = HibernateUtil.currentSession();//自己封装的Hibernate实体
SQLQuery query2 = session.createSQLQuery(sql);
query2.setFirstResult(offset);
query2.setMaxResults(length);
List<Object[]> list = query2.list();
for(Object[] o: list){
System.out.print(o[0] + "-");
System.out.print(o[1] + "-");
}

打印出来的结果是:南-
而数据库实际LIFNR字段的值为:南京

而且我随便查哪个单表也只会显示第一个字符,但是如果查T_SUPPLIEREMAIL 表数据就可以全部显示。这是什么问题?
而且原生SQL查询应该也和hibernate的配置无关吧?即使有关我用HQL语句进行单表查询也没有问题。

封装的实体和SQL语句都没有问题,可以正常运行,数据库为sqlserver2000


你这个LIFNR字段是不是char类型?我碰到过char类型的字段会只取第一个字符的情况。select的时候转换成varchar就行了。 后面需要用的字段全部改为varchar就没问题了。我都纳闷为啥char字段会有这个情况出现,求解?

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。