hibernate的sql查询
2014-05-14 21:32
99 查看
hibernate有的时候用起来貌似不是那么顺手,像sql查询在hibernate中就是一大缺陷,稍微复杂点的查询hibernate几乎做不到。这次整理了一些关于hibernate使用sql语句查询的知识,就拿出来分享给大家吧
1.map结果类型的sql查询
这种查询还算OK,只不过拿来分页的话就麻烦了
2.addEntity的方式
这种方法我觉得比较适合连接查询的情况,但是无论怎样,hibernate的sql查询就是麻烦
1.map结果类型的sql查询
public void queryBySql() { Transaction tx=null; Session ses=null; try { ses = HibernateUtil.getSession(); tx = ses.beginTransaction(); String sql="select name from student where sno='2009010502'"; Query q=ses.createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List list = q.list(); for(int i=0;i<list.size();i++){ Map m=(Map)list.get(i); System.out.println(m.get("NAME")); } tx.commit(); } catch (HibernateException e) { throw e; }finally{ if(ses!=null){ ses.close(); } } }
这种查询还算OK,只不过拿来分页的话就麻烦了
2.addEntity的方式
这种方法我觉得比较适合连接查询的情况,但是无论怎样,hibernate的sql查询就是麻烦
public void queryByEntitySql() { Transaction tx=null; Session ses=null; try { ses = HibernateUtil.getSession(); tx = ses.beginTransaction(); String sql="select d.*,s.* from dept d,Student s where d.deptno=s.deptno"; Query q=ses.createSQLQuery(sql) .addEntity("d",Depart.class) .addEntity("s",Student.class); List list = q.list(); Iterator it=list.iterator(); while(it.hasNext()){ Object[] obj=(Object[])it.next(); Depart d=(Depart)obj[0]; System.out.println(d.getDname()); } tx.commit(); } catch (HibernateException e) { throw e; }finally{ if(ses!=null){ ses.close(); } } }这种方式的查询有点类似Ibatis的那种连接查询
相关文章推荐
- hibernate 多条件组合查询 之 sql 拼接
- Hibernate 高级查询技巧——本地SQL查询
- Hibernate的createSQLQuery查询的问题
- hibernate sql命名查询
- 使用HIBERNATE的SQL查询并将结果集自动转换成POJO
- hibernate原生sql查询(2.1.6)
- Hibernate学习31 -- Hibernate查询语言(HQL)5 -- 直接使用sql进行查询
- hibernate 多条件组合查询 之 sql 拼接
- Hibernate原生SQL查询多表关联,SQL语句要注意的问题
- Hibernate 本地SQL查询SQLQuery
- 关于Hibernate中SQL查询结果的数据结构
- hibernate sql多表查询
- hibernate的对象查询与sql语句的对应
- hibernate参考手册之---原生SQL查询
- 简单修改Hibernate源码,增加使用原生SQL查询时动态addEntity和addScalar功能
- Hibernate的SQL查询
- Hibernate的HQL查询语句对比Sql语句学习
- Hibernate 原生查询 createSQLQuery 详解
- 在配置文件中获取数据源,然后在hibernate中用sql语句进行查询操作
- Hibernate的createSQLQuery查询的小技巧