欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-30 08:32:42
在做统计查询的时候需要使用到一个常量,如 session.createsqlquery("select '张三' as name from tab").lis...

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

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