Hibernate取查询结果集

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:40:27
session = HibernateUtil.currentSession();
Transaction tran = session.beginTransaction();
String sql="select t.id,t.pid,t.name,t.url,(select count(*) from tree s where s.pid=t.id) as haschild from tree t where t.pid=:pid";
SQLQuery query = session.createSQLQuery(sql);

如上,查询的多个列怎么取出来,最好能像iBatis那样映射到java.util.Map里就最好了,不用再加实体BEAN和生成那些.hbm.xml
........

session = HibernateUtil.currentSession();
Transaction tran = session.beginTransaction();
String sql="select t.id,t.pid,t.name,t.url,(select count(*) from tree s where s.pid=t.id) as haschild from tree t where t.pid=:pid";
SQLQuery query = session.createSQLQuery(sql);

如果是多个字段组合在一起的话 而它又不是实体类
就用Object[]数组去取

通过下标来取

希望你能搞定

List rs = session.createSQLQuery(sql).list();
查询出来的我记着是list里面压的map还是object[]

没有实体bean,就不叫Hibernate了吧