欢迎来到天天文库
浏览记录
ID:34723257
大小:55.78 KB
页数:4页
时间:2019-03-10
《hibernate中的hql语句》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、HQL一、查询方式一:使用createQuery()(使用hibernate中的hql语句,字段名称是实体类中的名称)返回List:session.createQuery(“fromEmp”).list();session.createQuery(“selectefromEmpe”).list();(注意:不支持select*fromEmp这种语法)返回List:session.createQuery(“selectemp.idfromEmpemp”).list();返回List:session.createQuery(“selectemp.id
2、,emp.namefromEmpemp”).list();(注意:此时每个Object中只有两个元素,id和name)返回List:session.createQuery(“fromEmpempwhereemp.id=15”).list();返回List:session.createQuery(“selectnewEmp(emp.id,emp.name)fromEmpemp”).list();(注意:此时的Emp对象中只有id和name,并且不是持久态对象。如果执行此语句成功,需要修改POJO类Emp,为其提供构造方法,不然会报错误,所以尽量不使用此语句)方式二:使用cre
3、ateSQLQuery()(使用原生态的数据库的sql语句,字段名称是table中的名称)返回List:session.createSQLQuery(“select*fromemp_xwj”).list();返回List:session.createSQLQuery(“selectt_id,t_namefromemp_xwj”).list();(注意:此时每个Object中只有两个元素,id和name)返回List:session.createSQLQuery(“select*fromemp_xwj”).addEntity(Emp.class)
4、.list()(注意:使用addEntity()时,不支持selectt_id,t_namefromemp_xwj这种语法)一、删除Queryquery=session.createQuery(“deleteEmpempwhereemp.namelike'%da%'”);query.executeUpdate();二、分页查询返回List:Queryquery=session.createQuery(hql);query.setFirstResult(0);//从第一条记录开始query.setMaxResults(4);//取出四条记录query.list();三、统计查询返回Ob
5、ject,可以强转为Long类型:Queryquery=session.createQuery(“selectcount(id)fromEmp”);Longcount=(Long)query.uniqueResult();(注意:uniqueResult()方法用来获取唯一记录)四、其它返回List:session.createQuery(“fromEmpemporderbyemp.salerydesc”).list();返回List:session.createQuery(“selectmax(emp.salery)fromEmpemp”).list();返
6、回List:session.createQuery(“selectemp.name,count(emp.id)fromEmpempgroupbyemp.name”).list();
此文档下载收益归作者所有