网站大量收购闲置独家精品文档,联系QQ:2885784924

学习hibernate查询集合.pdf

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

niujiaoba + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档