分页查询:

  - setFirstResult(int firstResult):设定从哪一个对象开始检索,参数 firstResult 表示这个对象在查询结果中的索引位置,索引位置的起始值为零。默认情况下,Query 从查询结果中的第一个对象开始检索

  - setMaxResult(int maxResults):设定一次最多检索出的对象的数目。在默认情况下,Query 和 Criteria 接口检索出查询结果中所有的对象

    public void testPageQuery(){
String hql = "FROM Employee";
Query query = session.createQuery(hql); int pageNo = 3;
int pageSize = 5;
List<Employee> employees =
query.setMaxResults(pageSize)
.setFirstResult((pageNo - 1) * pageSize)
.list();
for(Employee employee : employees){
System.out.println(employee.getId());
}
}

在映射文件中定义命名查询语句:

  - Hibernate 允许在映射文件中定义字符串形式的查询语句

  - <query> 元素用于定义一个 HQL 查询语句,它和 <class> 元素并列

  - 在程序中通过 Session 中的 getNamedQuery()方法获取查询语句对应的 Query 对象

    public void testNamedQuery(){
Query query = session.getNamedQuery("myQuery");
List<Employee> employees = query.setInteger("minId", 100)
.setInteger("maxId", 108)
.list();
for(Employee employee : employees){
System.out.println(employee.getId());
}
}
<query name="myQuery"><![CDATA[FROM Employee e WHERE e.id > :minId AND e.id < :maxId]]></query>

投影查询:

  - 查询结果仅包含实体的部分属性。通过 SELECT 关键字实现。

  - Query 的 list 方法返回集合中包含的是数组类型的元素,每个对象数组代表查询结果的一条记录

  - 可以在持久化类中定义一个对象的构造器来包装投影查询返回的记录,使程序代码能完全运用面向对象的语义来访问查询结果集

  - 通过 DISTINCT 关键字来保证查询结果不会返回重复元素

    @Test
public void testFieldQuery(){
String hql = "SELECT new Employee(e.lastName, e.department) FROM Employee e WHERE e.department = :dept";
Query query = session.createQuery(hql); Department dept = new Department();
dept.setDeptId(80);
List<Employee> employees =
query.setEntity("dept", dept)
.list();
for(Employee employee : employees){
System.out.println(employee.getId() + ", " + employee.getLastName() +", " + employee.getDepartment().getDeptId());
}
}

Hibernate HQL ②的更多相关文章

  1. weblogic10异常:org.hibernate.hql.ast.HqlToken

    转自:http://www.programgo.com/article/68682994452/ 在做查询的时候,报出  org.hibernate.QueryException: ClassNotF ...

  2. SSH整合报错:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped[......]

    非常诡异的报错,信息如下:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [select count(* ...

  3. Hibernate HQL查询:

    Hibernate HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查 ...

  4. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  5. 解决Eclipse编译器报错ClassNotFoundException:Org.hibernate.hql.ast.HqlToken

    最近开发遇到Eclipse编译器老是报出ClassNotFoundException:Org.hibernate.hql.ast.HqlToken [from User Where id=1] 的错误 ...

  6. java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.MethodNode(尼玛,蛋疼的错误)

    java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.MethodNode   \-[M ...

  7. Hibernate HQL详细说明

    1.  Hibernate HQL详细说明 1.1.  hql一个简短的引论 Hibernate它配备了一种非常强大的查询语言.这种语言看起来非常像SQL.但是不要 要对相位的语法结构似,HQL是很有 ...

  8. WebLogic使用SSH架构部署遇到org.hibernate.hql.internal.ast.HqlTok

    其实这个问题在以前就遇到过,当时解决了,但今天在部署一个测试轻应用的时候一直没有想起来,特此记录一下. 这个问题出现在使用WebLogic(我使用的是10.3.5版本)发布SSH架构的应用.在操作数据 ...

  9. Hibernate HQL查询语句总结

    Hibernate HQL查询语句总结 1. 实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql="from User user ";L ...

  10. hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

    环境:weblogic10.3.5,hibernate3,GGTS(groovy/grails tools suite):出现这问题是因为该项目是从weblogic8.1.6下移植到weblogic1 ...

随机推荐

  1. select中option的onclick事件失效

    html: <select id="pageSelect"> <option value="1" selected onclick=" ...

  2. day 20 - 1 序列化模块,模块的导入

    序列化模块 首先我们来看一个序列:'sdfs45sfsgerg4454287789sfsf&*0' 序列 —— 就是字符串序列化 —— 从数据类型 --> 字符串的过程反序列化 —— 从 ...

  3. MSSQL的简单盲注

    方式一:遍历ascii码的方式 一.判断数据库类型 and (select count(*) from sysobjects)>0 二.获取数据库 and ascii(substring((se ...

  4. [精品书单]3D打印机课程设计

    3D打印机整个绘图过程........... 三维图 工程图 编程

  5. boston_housing-多分类问题

    from keras.datasets import boston_housing import numpy as np from keras import models from keras imp ...

  6. oracle 表所占空间统计

    1.通过查询dba_segments Select owner,segment_name,sum(bytes)/1024/1024 as MB from dba_segments group by o ...

  7. shiroUtil工具类

    package com.chabansheng.util; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.A ...

  8. SHOT

  9. 2019前端面试题之js

    1.js的数据类型 js的数据类型分为基本类型跟引用类型 基本数据类型(5个):undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保 ...

  10. Mybatis面试集合(转)

    Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍 ...