一、对象封装: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")可以取值了
相关推荐
hibernate 的createSQLQuery的几种用法总结
关于hibernate 的createQuery和createSqlQuery 的区别
使用hibernate的query调用oracle的存储过程/function,包含例子,源码以及数据库文件
17.1.13 设置查询附属事项 17.1.14 在映射文件中定义命名查询语句 17.1.15 在HQL查询语句中调用函数 17.2 设定查询条件 17.2.1 比较运算 17.2.2 范围运算 17.2.3 字符串模式匹配 17.2.4 逻辑运算 ...
17.1.13 设置查询附属事项 17.1.14 在映射文件中定义命名查询语句 17.1.15 在HQL查询语句中调用函数 17.2 设定查询条件 17.2.1 比较运算 17.2.2 范围运算 17.2.3 字符串模式匹配 17.2.4 逻辑运算 ...
17.1.13 设置查询附属事项 17.1.14 在映射文件中定义命名查询语句 17.1.15 在HQL查询语句中调用函数 17.2 设定查询条件 17.2.1 比较运算 17.2.2 范围运算 17.2.3 字符串模式匹配 17.2.4 逻辑运算 ...
17.1.13 设置查询附属事项 17.1.14 在映射文件中定义命名查询语句 17.1.15 在HQL查询语句中调用函数 17.2 设定查询条件 17.2.1 比较运算 17.2.2 范围运算 17.2.3 字符串模式匹配 17.2.4 逻辑运算 ...
If Hiberate is used, with the help of query builder (createSQLQuery) in org.hibernate.Session, one can mention the placeholder parameter name in the SQL and set the values based on the parameter name....