hibernate的Hql语句

HQL
①是Hibernate Query Language的缩写。
②他是一种和java类似的面向对象的数据库操作语句。③hql查的不是表示实体类。通过查实体类去查表数据。

hql和sql区别/异同

HQL SQL
类名/属性 别名 表名/列名 别名
区分大小写,关键字不区分大小写 不区分大小写
?,从下标0开始计算位置(hibernate5之后不支持 ):命名参数 ?,从顺序1开始计算位置 不支持:命名参数
面向对象的查询语言 面向结构查询语言

注1:QuerySyntaxException:book is not mapped

处理返回的结果集:
①查询所有
hibernate的Hql语句

②查询单个
注意:不是查表的全部字段 hql语句前必须加selsect!!
hibernate的Hql语句

注意区分大小写 如果bookName中的属性不对 那么就会报错反射找不到属性。

③ 查询多列(非全列)
hibernate的Hql语句

④通过hibernate函数Map处理hibernate的Hql语句

注意:函数这个词是源于数据库 函数不区分大小写(它不是接口)

⑤通过构造方法去查询
hibernate的Hql语句

加的有参数无参构造器是:

	public Book(Integer bookId, String bookName) {
		super();
		this.bookId = bookId;
		this.bookName = bookName;
	}
	
	public Book() {
	super();
}

⑥占位符问题
hibernate的Hql语句

⑦连表查询
hibernate的Hql语句

⑧聚合函数:hibernate的Hql语句

⑨分页查询
hibernate的Hql语句