StringBuilder sb = new StringBuilder("SELECT PR.ID,PR.LOG_TITLE,PR.DOG_INFO,DI.NAME,(CASE WHEN PL.TOTAL > 0 THEN PL.TOTAL ELSE 0 END) AS TOTAL");
sb.append(" FROM DOG_INFO DI,DOG_LOG PR LEFT JOIN (SELECT PL.TARGET_ID, COUNT(PL.ID) AS TOTAL FROM POLL_LOG PL where 1=1");
sb.append(" GROUP BY PL.TARGET_ID ORDER BY TOTAL DESC) PL ON PR.ID=PL.TARGET_ID");
sb.append(" WHERE DI.ID = PR.DOG_INFO and TOTAL <> 0 ORDER BY TOTAL DESC");
SQLQuery sqlQuery = getSession().createSQLQuery(sb.toString());
// 这里必须设置
sqlQuery.addScalar("id", Hibernate.INTEGER);
sqlQuery.addScalar("logTitle", Hibernate.STRING);
sqlQuery.addScalar("dogId", Hibernate.LONG);
sqlQuery.addScalar("total", Hibernate.LONG);
// 返回的是一个object数组的列表。
List list = sqlQuery.list();
分享到:
相关推荐
本文将详细讲解如何使用Hibernate的SQLQuery进行本地SQL查询。 首先,创建SQLQuery实例是通过Session对象的createSQLQuery()方法完成的。例如: ```java List<Cat> cats = sess.createSQLQuery("select * from ...
在处理数据库查询时,Hibernate提供了三种主要的查询方式:Criteria查询、HQL(Hibernate Query Language)和本地SQL。本文将详细探讨这三种查询方式的区别与用法。 首先,Criteria查询是Hibernate提供的一种面向...
IronTrack SQL的安装配置对于Java数据库开发人员来说相对简单,但它要求开发者将JAR包保存到本地路径,并在Java环境下运行特定的命令以启动安装。对于在Java应用服务器上运行的情况,需要指定IronTrack SQL的安装...
Eclipse中Hibernate简单配置和使用 Eclipse中配置和使用Hibernate框架是Java开发中常见的数据库持久化解决方案。本文将通过详细的步骤介绍Eclipse中配置和使用Hibernate框架,并提供一个简单的示例实现。 ...
本文将深入解析五种主要的Hibernate查询方法:QBE(Query By Example)、QBC(Query By Criteria)、HQL(Hibernate Query Language)、本地SQL查询以及QID(Query by Identifier)。 1. QBE(Query By Example) ...
本地 SQL 检索是使用本地数据库的 SQL 查询语句来检索对象。 String sql = "select * from customers , orders where customers.id = orders.customer_id and customers.name = ?"; SQLQuery sqlQuery = session....
此外,还可以使用 Hibernate 提供的一些辅助工具来简化开发过程,比如用于生成 SQL 语句的日志工具。 - **1.2.6 加载与存储对象** 通过 Hibernate 的 Session API 可以加载和保存 Java 对象。这些操作通常涉及到 ...
Hibernate提供了一种面向对象的查询语言HQL,类似于SQL但更为直观。例如,你可以使用HQL查询所有用户:`from User`,这比编写原生SQL更加简洁和安全。 7. 第一个Hibernate程序: 创建一个简单的Java应用,初始化`...
Hibernate Query Language(HQL)是Hibernate框架提供的一种面向对象的查询语言,它是基于Java的,但其语法与SQL类似,用于在Java应用中操作对象。HQL允许开发者用类名和属性名而不是表名和列名进行数据库查询,这...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用 Java 对象来操作数据库,而无需直接编写 SQL 查询语句。这个资料包含了配置 Hibernate 和进行基本操作所需的元素。 在 `hibernate.cfg.xml` 文件...
- 数据查询语言:Hibernate支持自己的查询语言HQL(Hibernate Query Language),它类似于SQL,但作用于对象模型。 - 缓存机制:Hibernate内部实现了一级缓存和二级缓存,减少数据库的访问次数,提高性能。 - ...
这个压缩包提供了一个简单的入门项目,帮助初学者理解如何使用Hibernate框架。通过这个例子,我们可以深入学习Hibernate的核心功能和配置。 【描述】中提到的关键知识点包括: 1. **Hibernate框架**:Hibernate是...
对于本项目,推荐使用本地的Hibernate JAR包,这样可以确保使用最新版本的Hibernate。在项目的`lib`目录下,通常包含多个JAR包,但实际操作中只需关注`required`目录下的核心库即可。 #### 项目结构与组件 项目...
4. **Hibernate Query Language (HQL)**: 是Hibernate的SQL方言,允许开发者使用面向对象的查询语言,而不是传统的SQL,提高了代码的可读性和可维护性。 5. **JTA (Java Transaction API)**: Hibernate支持JTA事务...
2.3. 映射查询:Hibernate支持EJBQL(Enterprise JavaBeans Query Language)和HQL(Hibernate Query Language)进行查询映射,以及本地化查询。这使得开发者可以使用面向对象的方式来编写查询语句。 2.4. ...
1. **减少SQL编写**:使用Hibernate可以极大地减少手工编写SQL语句的工作量,提高开发效率。 2. **简化持久层开发**:Hibernate提供了一系列API和工具,使得开发者可以专注于业务逻辑的实现,而不是底层数据访问的...
JavaEE课程中关于Hibernate的知识点涵盖从基础操作到复杂查询的多个方面,本文主要阐述hibernate的检索方式、基本的CRUD操作、使用别名的技巧等。 ### Hibernate检索方式 Hibernate提供了多种检索方式,以便适应...
Hibernate提供了CRUD(创建、读取、更新和删除)操作的API,使得数据操作变得简单直观。在这个模板项目中,Hibernate被用来处理数据库的读写操作,通过配置文件设置数据库连接,然后在代码中调用Hibernate的Session...
15.4.3 什么时候使用查询高速缓存 15.4.4 自然标识符高速缓存查找 15.5 小结 第16章 创建和测试分层的应用程序 16.1 Web应用程序中的Hibernate 16.1.1 用例简介 16.1.2 编写控制器 ...
5. **查询语言**:Hibernate提供了一种称为HQL(Hibernate Query Language)的查询语言,它类似于SQL,但更接近于面向对象的查询方式。 6. **灵活的配置选项**:Hibernate支持多种配置选项,如XML配置文件和注解,...