- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hibernate HQL 查询使用详解
2010-06-30 15:30
Hibernate Query Language (HQL)提供了十分强大的功能,推荐大家使用这种
查询方式。 HQL具有与 SQL语言类似的语法规范,只不过 SQL针对表中字段进行
查 询,而 HQL针对持久化对象,它用来取得对象,而不进行 update 、delete
和 insert 等操作。而且 HQL是完全面向对象的, 具备继承、多态和 关联等特性。
1.from 子句
from 字句是最简单的 HQL语句,例如 from Student ,也可以写成 select s from
Student s 。它简单地返回 Student 类的所有实例。
除了 Java 类和属性的名称外, HQL语句对大小写并不敏感,所以在上一句 HQL
语句中,from 与 FROM是相同的, 但是 Student 与 student 就不同了, 所以上述
语句写成 from student 就会报错。 下列程序演示如何通过执行 from 语句取得所
有的 Student 对象。
Query query = session.createQuery( “from Student ”);
List list = query.list();
for (int i=0;ilist.size(); i++)
{
Student stu = (Student)list.get(i);
System.out.println(stu.getName());
}
如果执行 HQL语句“ from Student, Course”,并不简单地返回两个对象,而是
返回这两个对象的的笛卡儿积, 这类似于 SQL语句中字段的全外连接。 在实际应
用中,像“ from Student, Course ”这样的语句几乎不会出现。
2 .select 子句
有时并不需要得到对象的所有属性,这时可以使用 select 子句进行属性查询,
例如, select from Student s 。下面程序演示如何执行这个语句:
Query query = session.createQuery( “select from Student s ”);
List list = query.list();
for (int i=0;ilist.size(); i++) {
String name = (String)list.get(i);
System.out.println(ame());
}
如果要查询两个以上的属性,查询结果会以数组的方式返回,如下所示:
Query query = session.createQuery( “select , s.sex from Student as
s ”);
List list = query.list();
for (int i=0;ilist.size(); i++) {
Object obj[] = (Object[])list.get(i);
System.out.println(ame(obj[0] + “的性别是:” +obj[1]));
}
在使用属性查询时,由于使用对象数组,操作和理解都不太方便,如果将一个
object[] 中所有成员封装成一个对象就方便多了。 下面的程序将查询结果进行了
实例化:
Query query = session.createQuery( “select new Student(, s.sex)
from Student s ”);
List list = query.list();
for (int i=0;ilist.siz
您可能关注的文档
- HTML上机实验(实验一).pdf
- IBM小型机及操作系统管理.pdf
- IML模内标签技术的核心材料结构及制作特点.pdf
- iOS多线程编程之NSThread的使用.pdf
- iSCSI存储的4种系统架构.pdf
- javaIO流的三种分类方式.pdf
- JAVASCRIPT常用函数集一.pdf
- JAVASCRIPT中定义对象的几种方式.pdf
- JavaWeb编程技术实验指导书.pdf
- java工厂类 知识点.pdf
- 北京市平谷区2024-2025学年七年级上学期期末英语试卷(含答案).pdf
- 广东省湛江市麻章区2024-2025学年八年级上学期期末考试道德与法治试题(含答案).pdf
- 第5课 三大改造 课件(27张PPT).pptx
- 北京市顺义区2024-2025学年七年级上学期期末英语试题(含答案).pdf
- 第9课 20世纪以来人类的经济与生活课件(共24张PPT)2024-2025学年高二历史统编版选择性必修二.pptx
- 2024-2025学年上海市杨浦高级中学高一(上)期末物理试卷(等级考)(含答案).pdf
- 第10课 古代的村落、集镇和城市课件(共20张PPT)2024-2025学年高二历史统编版选择性必修二.pptx
- 第2课 新航路开辟后的食物物种交流 课件(共27张PPT)2024-2025学年高二历史统编版选择性必修二.pptx
- 第9课 20世纪以来人类的经济与生活课件(共44张PPT)2024-2025学年高二历史统编版选择性必修二.pptx
- 论文答辩中的常见问题及应对方法.docx
文档评论(0)