HQL常用句型

HQL常用句型

HQL常用句型
HQL相比于SQL添加了面向对象思想,包括封装、继承、多态。

1、Select/update/delete…… from …… where …… group by …… having …… order by …… asc/desc
2、
from User user where user.age=20;
from User user where user.age between 20 and 30;
from User user where user.age in(20,30);
from User user where user.name is null;
from User user where user.name like ‘%zx%’;
from User user where (user.age%2)=1;
from User user where user.age=20 and user.name like‘%zx%’;

3、 user 是User的一个实体对象
对user的更新操作(下述hql字符串所述)
Transaction trans=session.beginTransaction(); String hql=”delete from User user where user.age=18”; Query queryupdate=session.createQuery(hql); int ret=queryupdate.executeUpdate(); trans.commit();
查询实体对象user的部分属性
4、查询实体对象user的部分属性
List list=session.createQuery(“select user.name from User user ”).list();
5、count(),sum(),max(),min(),avg()等函数
String hql=”select count(user),user.age from User user group by user.age having
count(user)>10 ”;
List list=session.createQuery(hql).list();
6、group by,order by分组与排序功能
from User user order by user.name asc,user.age desc;

7、优化参数统计 inner join
From Customer c inner join c.orders o group by c.age; (1)
select c.ID,c.name,c.age,o.ID,o.order_number,o.customer_ID
  from Customer c inner join c.orders c group by c.age; (2)
在开发统计查询系统时,尽量使用通过select语句写出需要查询的属性的方式来返回关系数据,而避免使用第一种查询方式返回持久化对象(这种方式是在有修改需求时使用比较适合),可以提高运行效率并且减少内存消耗。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值