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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itmyhome/article/details/78860577

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

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

阅读更多
换一批

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