Hibernate的createSQLQuery查询 返回值设置

一、对象封装:Java代码:

Configuration config =newConfiguration().configure();          

 SessionFactory sf= config.buildSessionFactory();          

 Session session = sf.openSession();          

 Transaction ts = session.beginTransaction();  

 Query query = session.createSQLQuery("select * from Tree t where pid in (select id from Tree) ") .addEntity(Tree.class);//返回对象 

 List   list = query.list(); (Tree)list.get(i);

此时在遍历list时就可以(Tree)list.get(i);将每一行的内容变换为一个对象了。

 

二、属性值,Map封装

Java代码:

Query query = session.createSQLQuery("select id,name from Tree t where pid in (select id from Tree) ").setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);//返回一个map,KEY:为DB中名称一致(大小写一致)  

//遍历list时就可以
Map map = (Map)list.get(i);

map.get("id");

map.get("name");//来取值。

按你的SQL语句select后的字段名来作为map的Key,但这个key必须与数据库中的字段名一模一样

 

三、函数方面设值

Java代码

 Query query = session.createSQLQuery("select sum(id) SUMID from Tree t where pid in (select id from Tree).addScalar("SUMID",Hibernate.INTEGER).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); 转换类型,按DB中的type转;返回一个map,KEY:为DB中名称一致(大小写一致)

Map map = (Map)list.get(i);

map.get("SUMID");

直接就map.get("SUMID")可以取值了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值