HQL(Hibernate Query Language)是面向对象的查询语言,它和SQL查询语言有些相似。在Hibernate提供的各种检索方式中,HQL是使用最广的一种检索方式。它具有以下功能:
- 在查询语句中设定各种查询条件。
- 支持投影查询,即仅检索出对象的部分属性。
- 支持分页查询。
- 支持分组查询,允许使用group by和having关键字。
- 提供内置聚集函数,如sum()、min()和max()。
- 能够调用用户定义的SQL函数。
- 支持子查询,即嵌套查询。
- 支持动态绑定参数。
Session 类的 Qurey 接口支持HQL检索方式,它提供了以上列出的各种查询功能。
注:Qurey 接口支持方法链编程风格,它的set方法都返回自身实例,而不是返回void类型。方法链编程风格能使程序代码更加简洁。
一、HQL 查询的步骤写 HQL 语句注意: 表名与列名 对应 持久化类的类名和字段名,严格区分大小写,HQL不支持 * 号,一般使用别名 ,
@SuppressWarnings("unchecked")
@Test
public void test() {
//1. 写HQL
String hql = "from Activity"; //等价于: String hql = "select a from Activity a";
//2. 获取Query
Query query = session.createQuery(hql);
//3. 给动态绑定参数赋值
//4. 获取list(查询) 增删改 使用executeUpdate()
List list = query.list();
for (Activity activity : list) {
System.out.println(activity.getAname() +"--"+ activity.getMember().size() );
}
}
二. HQL 动态绑定参数查询
Activity 与 Member 多对多
1). 使用 ? 做占位符: Hibernate setParameter() 占位符参数从 0 开始
@SuppressWarnings("unchecked")
@Test
public void test() {
//1. 写HQL
String hql = "select a from Activity a where a.id
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?