对象导航查询,在hql中采用.进行导航(重要)
参见:ObjectNavQueryTest.java
package com.wlh.hibernate;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import junit.framework.TestCase;
public class ObjectNavQuery extends TestCase {
public void testQuery1() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
[color=red]//s.classes.name就是导航
//s.classes从Student导航到Class,因为Student中持有Class的引用private Classes classes;[/color]
List students=session.createQuery("select s.name from Student s where s.classes.name=?")
.setParameter(0, "班级1")
.list();
for(Iterator iter=students.iterator();iter.hasNext();){
String o=(String)iter.next();
System.out.println("name="+o);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
}
分享到:
相关推荐
它提供了灵活多样的查询机制,包括导航对象图、通过标识符检索、使用 HQL 检索对象、使用 Hibernate 条件 API 和使用本地 SQL 查询等。 在 Hibernate 中检索对象的各种方法: 1. 导航对象图:通过对象的关联关系,...
4. **对象导航**:通过对象关系,HQL可以方便地进行关联查询,无需关心底层的表连接操作。 总之,HQL作为Hibernate的重要组成部分,为开发者提供了强大且灵活的数据检索能力,使得在Java应用中操作数据库变得更加...
在Hibernate中,HQL(Hibernate Query Language)是专为ORM设计的一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询,而不是直接使用SQL。本资料主要涵盖了Hibernate HQL查询的基本概念、语法以及...
Hibernate中HQL语句的使用 ...HQL语句可以用于各种查询场景,包括简单属性查询、多个属性的查询、使用别名、实体对象查询、外置命名查询、查询过滤器、分页查询、对象导航查询、连接查询和统计查询等。
HQL 是一种面向对象的查询语言,它支持标准 SQL 的大部分功能,并添加了一些额外的功能,如对象导航、集合投影等。本文将深入探讨 HQL 的几个关键方面,包括基本的查询语法、连接操作以及聚合函数等。 #### 基本...
在上述例子中,`o.products`就是通过`Order`对象导航到其关联的`Product`集合。 ### 示例应用 在实际开发中,HQL常用于ORM(Object-Relational Mapping)框架中,简化数据库操作,使得代码更加面向对象。例如,从`...
HQL是Hibernate提供的SQL的面向对象版本,用于查询对象而非表。在实现翻页功能时,HQL可以帮助我们更方便地进行复杂的数据查询。 1. **理解HQL**: HQL允许开发者以类和对象的方式编写查询语句,它支持SELECT、...
本节我们将深入探讨Hibernate中的HQL(Hibernate Query Language)查询,这是一种专为Hibernate设计的面向对象的查询语言,类似于SQL但更贴近于Java程序员的思维。 首先,HQL查询的基本语法结构与SQL类似,但对象化...
导航对象图检索是根据已经加载的对象导航到其他对象。例如,已经加载了 Customer 对象,通过 getOrders() 方法可以获取该 Customer 对象关联的 Order 集合。Hibernate 会自动检索 Order 数据。 Customer c = ...
2. **对象导航查询**:利用对象间的关联关系,通过已知对象的引用去获取相关联的对象。 3. **HQL(Hibernate Query Language)查询**:这是一种面向对象的查询语言,类似于SQL,但更符合面向对象的思维方式。HQL...
- **使用HQL进行分页查询**: ```java Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); Query query = session.createQuery("from YourEntity e"); query.setFirstResult(...
HQL是Hibernate提供的面向对象的查询语言,类似于SQL。在HQL中,分页查询可以通过`setFirstResult()`和`setMaxResults()`方法实现,与Criteria API类似: ```java Session session = sessionFactory.openSession();...
对象导航检索:根据某个对象导航查询与该对象关联的对象数据 HQL检索:通过query接口对象查询 QBC检索:通过criteria接口对象查询 SQL检索:通过SQL语句查询 2、HQL检索方式: 查询全部数据:session....
在Hibernate中,提供了多种检索对象的方式,包括但不限于导航对象图检索方式、OID检索方式、HQL检索方式、QBC检索方式以及本地SQL检索方式。 #### 二、具体检索方式介绍 ##### 1. 导航对象图检索方式 导航对象图...
1. **导航对象图检索**:这是最直观的方式,通过已加载的对象导航到与之关联的其他对象,无需直接执行查询。 2. **OID检索**:根据对象的唯一标识(OID,Object Identifier)来获取对象,通常适用于已知对象ID的情况...
此外,HQL还支持数据库函数和对象导航查询,能方便地处理关联关系,例如内连接、左连接和右连接。 在处理集合时,Hibernate提供了方便的方法,如`list()`,可以将查询结果转化为Java集合对象。HQL的这种面向对象的...
使用Session的`createQuery(String hql)`方法创建Query对象,然后设置查询参数,通过`setFirstResult(int firstResult)`设置开始位置(即offset),`setMaxResults(int maxResults)`设置每页大小(即length)。...
- 导航对象图查询:通过对象之间的关联关系直接获取数据。 - OID 查询:基于对象标识符(Object Identifier)查找对象。 - HQL(Hibernate Query Language):面向对象的查询语言,类似于SQL,但操作对象而非表格...