HQL查询语言基础面向对象风格的查询语法

HQL 的查询方式,挺适合你这种习惯面向对象写代码的人。它不像 SQL 那样死板,写起来更像操作 Java 对象,语法风格也跟 Java 挺搭。

单表查询就像操作类一样,from Cat as cat这种语句一看就明白,代码也更干净清爽。多表的部分也不麻烦,from Cat as cat, Dog as dog这种写法蛮直观,join 操作也支持得比较全,inner、left、right 都有,而且写法清晰。

像左连接的用法:

select employee.ID, employee.Name, department.ID, department.Name
from Employee as employee
left join Department as department
on employee.DepNo = department.ID

意思就是:所有员工都查出来,部门对得上的就对上,对不上的就用NULL补位,挺适合数据不太对等的场景。

还有像avg()sum()这些数学函数,HQL 也支持,写聚合统计类功能就方便多了。

注意点就是大小写,关键字无所谓,实体名和字段名要看数据库规则,大小写敏感时别写错。

如果你平时用 Hibernate 多,想让查询代码更贴近 Java 习惯,这篇文章还蛮值得一看的,讲得细,还配了例子,直接能套用。

doc 文件大小:32KB