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

来源:互联网 发布:陈设艺术设计相关软件 编辑:程序博客网 时间:2024/06/05 01:00

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
这种解决方法比较方便


原创粉丝点击