//操作的是多张表,返回的数据也来源于多个表的字段;
//String sql = “select A.id ID, A.name NAME, B.salary SALARY from employee A , Salary B where.......”;
//Query query =getSession().createSQLQuery(sql)
// .setResultTransformer(Transformers.aliasToBean(ReturnEmployee.class));
//由于返回的ID, NAME, SALARY 非一个和表对应的一个BEAN,所以自己需要建立一个ReturnEmployee的BEAN,属性包括ID, NAME, SALARY
//List cats = sess.createSQLQuery(" select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id " )
//.addEntity( " cat " , Cat. class ).addJoin( " kitten " , " cat.kittens " ).list();
//List cats = sess.createSQLQuery( " select {cat.*} from cats cat " ).addEntity( " cat " , Cat. class ).list();
//List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list();
//返回一个Map对象,也就是说在在list里包含多个Map
//返回一个map,KEY:为DB中名称一致(大小写一致)遍历list时就可以
//Query query = session.createSQLQuery("select id,name from Tree t where pid in (select id from Tree) ").setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
//Map map = (Map)list.get[i];
//创建sql语句
//String sql = "SELECT users.name,usersinfo.* FROM users,usersinfo WHERE users.id = usersinfo.userid";
//获得SQLQuery对象
//SQLQuery query = session.createSQLQuery(sql);
//设定结果结果集中的每个对象为Map类型
//query.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP);
//执行查询
//List list = query.list();
//还可以用作函数方面的
//返回一个map,KEY:为DB中名称一致(大小写一致)
//Query query = session.createSQLQuery("select sum(id) SUMID from Tree t where pid in (select id from Tree).addScalar("SUMID",Hibernate.INTEGER) //转换类型,按DB中的type转
// .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
//直接就map.get("SUMID")可以取值了
//Double max = (Double) sess.createSQLQuery( " select max(cat.weight) as maxWeight from cats cat " )
// .addScalar( " maxWeight " , Hibernate.DOUBLE).uniqueResult();