import java.util.Iterator;
import java.util.List;
import junit.framework.TestCase;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import cn.edu.ahau.mgc.hibernate.factory.HibernateSessionFactory;
public class TestCount extends TestCase {
public void test2() {
Session session = null;
try {
session = HibernateSessionFactory.getSession();
List<Object[]> results = session.createQuery("select c.id,c.name,count(s) from Student s join s.classes c group by c.id, c.name").list();
for (Iterator<Object[]> iterator = results.iterator(); iterator.hasNext();) {
Object[] result = iterator.next();
Long countLong=(Long)result[2];//需转为long对象
Integer count=Integer.parseInt(countLong.toString());
System.out.println("----ID:" + result[0] + ";Name:" + result[1] + "Students Count:" + count);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
}
}
}
分享到:
相关推荐
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
- 可以直接在HQL中查询关联的对象,如LEFT JOIN、INNER JOIN等。 - 通过导航属性访问关联对象,无需明确指定JOIN语句。 7. **子查询** - HQL支持在SELECT、FROM、WHERE子句中使用子查询。 - 子查询可以返回单个...
在Hibernate中,HQL(Hibernate Query Language)是其内置的一种面向对象的查询语言,它是SQL的面向对象版本,用于检索和操作持久化对象。HQL查询的使用极大地提高了开发效率,因为它将数据操作与具体的数据库结构...
在实际项目中,结合Hibernate的注解方式和HQL查询,开发者可以高效地处理数据库操作,降低了SQL编写的工作量,提高了代码的可读性和可维护性。同时,Hibernate还提供了Criteria API和Querydsl等其他查询方式,提供了...
HQL允许在查询中嵌套查询,子查询可以作为查询条件或者返回结果的一部分。比如,找出年龄大于平均年龄的用户: ```java String hql = "from User where age > (select avg(age) from User)"; ``` 六、HQL关联查询 ...
以上内容涉及了使用 HQL 和 DetachedCriteria 进行查询、参数化查询、执行更新操作以及简单的统计查询等常见的 Hibernate 操作。这些知识点对于理解和掌握 Hibernate 框架的基本使用至关重要,同时也是开发基于 ...
HQL(Hibernate Query Language)是 Hibernate 框架中的一种查询语言,它允许开发者使用面向对象的方式来查询数据库。HQL语句的使用是Hibernate中最重要的部分之一,本文将详细介绍HQL语句的使用方法和示例。 简单...
HQL(Hibernate Query Language)是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近Java对象的思维模式。对于初学者来说,理解和掌握HQL是深入学习Hibernate的关键步骤。 1. **HQL简介** HQL允许开发者以...
### Hibernate HQL 查询详解 #### 一、HQL 概述 Hibernate 提供了一种非常强大的查询语言——HQL(Hibernate Query Language),它在语法上与 SQL 类似但功能更为强大,因为它支持面向对象的特性,例如继承、多态性...
除了对整个实体进行查询,HQL还允许对实体中的特定属性进行查询,这种能力在数据分析和报表生成中尤为有用。 1. **查询单个属性**:如`"select user.name from User as user"`,这将返回所有用户的姓名列表。 2. **...
下面是一个简单的Java程序示例,展示了如何在Java中使用Hibernate框架执行HQL查询: ```java import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate....
【Hibernate HQL 深度历险】是一个关于掌握Hibernate查询语言高级特性的技术主题。Hibernate Query Language(HQL)是Hibernate框架提供的面向对象的查询语言,它与SQL类似但针对对象模型,允许开发者直接查询对象而...
在Hibernate中,可以使用以下几种方式来实现多表联合查询: - **HQL (Hibernate Query Language)** - **Criteria API** - **Native SQL** 本文将重点介绍如何使用HQL和Native SQL来实现多表联合查询。 #### 三、...
在 Hibernate 中,执行查询操作的主要方式之一是使用 Hibernate 查询语言(HQL)。 HQL 是一种面向对象的查询语言,它支持标准 SQL 的大部分功能,并添加了一些额外的功能,如对象导航、集合投影等。本文将深入探讨...
【hibernate3.2 (十)HQL查询】这篇博文主要探讨了Hibernate框架中的HQL(Hibernate Query Language)查询语言,它是Hibernate提供的一种面向对象的查询语言,用于操作持久化对象,类似于SQL但更加面向对象。...
本篇文章将详细解析Hibernate中的几种主要查询方式,包括联表查询、分页查询、位置参数查询、占位符查询(冒号查询)以及统计查询,这些都是在实际开发中非常常见的需求。 首先,我们来看**联表查询**。在Hibernate...
**Hibernate HQL 全攻略** ...以上内容覆盖了HQL的大部分核心特性,通过熟练掌握这些知识点,可以高效地在Hibernate中进行数据查询和操作。学习并实践这些HQL技巧,将极大地提升你在Java持久层开发中的能力。
HQL(Hibernate Query Language)是一种面向对象的查询语言,它提供了与SQL类似的功能,但更贴近于面向对象编程的思维方式。HQL允许开发人员以一种更自然的方式查询数据库,同时保持了Java对象模型的一致性。 #### ...