itmyhome的专栏

越努力,越幸运

Hibernate通过SQL查询常量时只返回第一个字符解决方法

在做统计查询的时候需要使用到一个常量,如

session.createSQLQuery("select '张三' as name from tab").list() 

查询,结果只返回了一个 ‘张’。常量在数据库中被认为是CHAR类型的,Hibernate取值时将其保存为Character类型,而Character只能保存一个字符,所以造成返回值只存在一个字符。

解决方法:

1、设置标量对应的类型

session.createSQLQuery("select '张三' as name from tab")
    .addScalar("NAME", Hibernate.STRING)
    .list() 

2、显示的转换类型

session.createSQLQuery("select cast('张三' as varchar(10)) as name from tab").list() 

3、使用HQL



作者:itmyhome

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itmyhome/article/details/78860577
文章标签: Hibernate
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭