在做统计查询的时候需要使用到一个常量,如
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
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14189.html