Hibernate的三种查询方式
1.HQL (Hibernate Query Lanuage) 语句,这是类似SQL语句的一种对象化查询语句。
2.使用Criteria对象,进行按条件查询(Query by Criteria,简称QBC)和按示例查询(Query by Example 简称QBE)。
3.生成原生的sql(Native SQL)语句。
一、HQL查询
Hibernate Query Language简称HQL。HQL语句是面向对象的一种查询语言。HQL针对Hibernate映射之后的实体类型和属性进行查询(若出现表名和字段名则为错误的!)。
二、HQL和SQL的相同点
1)都支持select、from、where、group by、order by、having子句……。
2)都支持+、-、*、/、>、<、>=、<=、<>等运算符和表达式。
3)都支持in、not in、between...and、is null、is not null、like、or等过滤条件。
4)都支持分组统计函数count、max、min、avg、sum。
三、HQL和SQL的不同点
1)HQL区分大小写(除了关键字外)。
2)HQL使用类名和属性名,不能使用表名和字段名。
3)HQL不能使用select * 写法。
4)HQL不能使用join...on中的on子句。
5)HQL不能使用数据库端的函数。
注意事项:HQL中select count(*