Hibernate 指定查询结果的数据类型

1 篇文章 0 订阅

Hibernate 指定查询结果的数据类型

1.使用Hibernate中的addScalar(String arg,Type type)来自定义返回字段的类型,
如:

this.getSession().createSQLQuery("select id,name,state from table") 
.addScalar("id", Hibernate.STRING)
.addScalar("name", Hibernate.STRING)
.addScalar("state", Hibernate.STRING
).list(); 

但是如果sql语句是这样的
"select t1.id,t1.name,t2.state from table1 t1,table2 t1 where ti.id=t2.id"
那么 在 addScalar 时就不能写成
.addScalar("t1.id",Hibernate.STRING);
不然会出现字段无效
而应该写成
.addScalar("id",Hibernate.STRING);
这种方法必须把所有要查询的字段进行定义,在字段比较多的时候,就相对比较麻烦;

2.在查询语句中直接指定数据格式,
如:
select id,name,cast(state as varchar(2)) from tb
这种解决方法比较方便


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值