6.1.2 检索类的所有对象
使用 HQL 语句可以检索出一个类的所有对象,如 HQL 语句“from Student”表
示检索 Student 类的所有对象。下面的程序检索学生类的所有对象。
Query query=session.createQuery("from Student"); //创建 Query 对象
List list=query.list(); //执行查询
//以下代码做显示用,以后不再写出来
Iterator it=list.iterator();
while(it.hasNext()){
Student stu=(Student)it.next();
System.out.println("id"+stu.getId());
System.out.println("name"+stu.getSname());
System.out.println("");
}
session.createQuery()以 HQL 查询语句为参数,生成一个查询对象。本例中的
HQL 语句为“from Student”,这是 from 子句,格式如下。
from 类名
其中,类名可以为类的全限定名,如:
from hibernate.ch06.Student
Hibernate 使用自动引入功能(auto import),会自动寻找需要的类,所以
不推荐使用类的全限定名。注意,类名区分大小写,如果写成 from
student,将会抛出以下异常。
java.lang.NoClassDefFoundError: hibernate/ch06/student (wrong name:
hibernate/ch06/Student)
HQL 关键字不区分大小写,FROM、from 和 From 是一样的。
调用 query.list()时,真正开始执行 HQL 查询语句,并把查询的结果放在 List
中。
评论0