您当前的位置: 首页 >  hibernate

Charge8

暂无认证

  • 2浏览

    0关注

    447博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Hibernate5中HQL检索方式

Charge8 发布时间:2018-08-15 11:58:24 ,浏览量:2

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            
关注
打赏
1664721914
查看更多评论
0.0432s