- 译者序
- 前言
- 本书怎么使用
- 本书排版字体约定
- 本书网站
- 致谢
- 第一部分 Hibernate 快速入门
- 第 1 章 安装和设置
- 第 2 章 映射简介
- 第 3 章 驾驭 Hibernate
- 第 4 章 集合与关联
- 第 5 章 更复杂的关联
- 第 6 章 自定义值类型
- 第 7 章 映射标注
- 第 8 章 条件查询
- 第 9 章 浅谈 HQL
- 第二部分 与其他工具的集成
- 第 10 章 将 Hibernate 连接到 MySQL
- 第 11 章 Hibernate 与 Eclipse:Hibernate Tools 使用实战
- 第 12 章 Maven 进阶
- 第 13 章 Spring 入门:Hibernate 与 Spring
- 第 14 章 画龙点睛:用 Stripes 集成 Spring 和 Hibernate
- 附录 A Hibernate 类型
- 附录 B Criteria API
- 附录 C Hibernate SQL 方言
- 附录 D Spring 事务支持
- 附录 E 参考资源
- 作者简介
- 封面介绍
排序
可以使用 SQL 风格的"order by"子句控制结果输出的顺序,这应该不会令你感到惊讶。前面几章我们曾经简单提到过这一点,其工作原理正如你所料想的那样。可以使用返回对象的任何属性来建立排序,也可以使用多个属性来建立子排序(subsort),以便在第一个属性值相同时能够继续以其他属性值对其结果进行排序。
应该怎么做
排序非常简单:列出想要用来对查询结果进行排序的值。和往常一样,SQL 使用数据库表的字段,而 HQL 使用对象的属性。对于例 9-13 来说,我们更新了例 9-10 的查询,让它以倒序的字母顺序显示结果。
注意:和 SQL 一样,递增的顺序使用"asc",而递减的顺序使用"desc"。
例 9-13:在 Track.hbm.xml 中加点新东西,按标题倒序对结果进行排序
<query name="com.oreilly.hh.tracksNoLongerThan">
<![CDATA[
select track.id, track.title from com.oreilly.hh.Track as track
where track.playTime<=:length
order by track.title desc
]]>
</query>
运行这个示例的输出结果如你所料(如例 9-14 所示)。
例 9-14:以倒序的字母顺序列出的标题和 ID
%ant qtest
Buildfile:build.xml
prepare:
[copy]Copying 1 file to/Users/jim/Documents/Work/OReilly/svn_hibernate
/current/examples/ch09/classes
usertypes:
……
qtest:
[java]Track:Video Killed the Radio Star[ID=2]
[java]Track:Test Tone 1[ID=7]
[java]Track:Russian Trance[ID=1]
[java]Track:Never Turn Your Back on Mother Earth[ID=12]
[java]Track:Motherless Child[ID=13]
[java]Track:In a Manner of Speaking[ID=9]
[java]Track:Gone[ID=11]
BUILD SUCCESSFUL
Total time:9 seconds
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论