站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
HQL
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
===分组与排序=== *Orderby子句: 与SQL语句相似,HQL查询也可以通过orderby子句对查询结果集进行排序,并且可以通过[[asc]]或者[[desc]]关键字指定排序方式,如下面的代码: <pre>fromUseruserorderbyuser.nameasc,user.agedesc;</pre> 上面HQL查询语句,会以name属性进行升序排序,以age属性进行降序排序,而且与SQL语句一样,默认的排序方式为asc,即升序排序。 *Groupby子句与统计查询: 在HQL语句中同样支持使用groupby子句分组查询,还支持groupby子句结合聚集函数的分组统计查询,大部分标准的SQL聚集函数都可以在HQL语句中使用,比如:count(),sum(),max(),min(),avg()等。如下面的程序代码: <pre> Stringhql=”selectcount(user),user.agefromUserusergroupbyuser.agehavingcount(user)>10”; Listlist=session.createQuery(hql).list(); </pre> *优化统计查询: 假设现在有两张数据库表,分别是customer表和order表,它们的结构如下: <pre> customer IDvarchar2(14) agenumber(10) namevarchar2(20) </pre> <pre> order IDvarchar2(14) order_numbernumber(10) customer_IDvarchar2(14) </pre> 现在有两条HQL查询语句,分别如下: <pre> fromCustomercinnerjoinc.ordersogroupbyc.age;(1) selectc.ID,c.name,c.age,o.ID,o.order_number,o.customer_ID fromCustomercinnerjoinc.orderscgroupbyc.age;(2) </pre> 这两条语句使用了HQL语句的内连接查询,现在可以看出这两条查询语句最后所返回的结果是一样的,但是它们其实是有明显区别的 语句(1)检索的结果会返回Customer与Order持久化对象,而且它们会被置于Hibernate的Session缓存之中,并且Session会负责它们在缓存中的唯一性以及与后台数据库数据的同步,只有事务提交后它们才会从缓存中被清除; 而语句(2)返回的是关系数据而并非是持久化对象,因此它们不会占用Hibernate的Session缓存,只要在检索之后应用程序不在访问它们,它们所占用的[[内存]]就有可能被[[JVM]]的垃圾回收器回收,而且Hibernate不会同步对它们的修改。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)