欢迎投稿

今日深度:

关于用Hibernate执行sql查询,字符字段类型只返回

关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题,hibernatesql


关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题

今天遇到了一个问题,就是在Hibernate中,我用sql去查询mysql数据库里面的user表里面的username字段,但是发现查出来的数据都是只有第一个字,例如:在user表里面的username字段中有一条数据是:“Chen chiwei”,查询后返回的结果却是这条数据的第一个字母:“C”;于是乎,我查了一下user这张表的设计,发现username这个字段的类型是‘char’类型,将它改成varchar类型后,查询数据返回正常。

这个问题在数据库的命令控制台中不会显示出来,我在Hibernate的sql查询中发现过而已,其他的还没尝试。


Hibernate执行的CreateSQLQuery结果截取的是每个字段的第一个字符,为何

你的数据库字段类型应该是char型,使用addScalar()方法
session.createSQLQuery("select myname from teacher").addScalar("myname",Hibernate.STRING);
addScalar()指定字段的返回类型
 

我的web项目使用hibernate框架,执行一条sql语句查询,但获取的结果却总是0,从PL/SQL中执行有结果?

您说的不是很详细:

1.首先是执行后返回0,程序本身有没有报错;
2.sql语句在分行时前后有没有加进去空格;
3.执行的sql返回的是字段还是对象?如果是对象的话,sql对象字段有没有对应好;
4.如果返回的是对象建议用hql试试;
5.如果返回只是字段,接受值的类型有没有问题?

这只是我日常处理问题的检查办法,希望对你有用。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3892.html NewsArticle 关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题,hibernatesql 关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题 今天遇到了一个问题,就是在Hibernate中...
评论暂时关闭