动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.驯服 Tiger:线程中的默认异常处.
.使用JAVA中的动态代理实现数据库.
.一个验证歌德巴赫猜想的小程序.
.多形性的覆盖与过载.
.JSF ( JavaServer Faces ) 介绍.
.Struts网站导航系统设计新思路探.
.动态Proxy与Java ACL用户访问控制.
.Java为索尼爱立信的手机带来游戏.
.在实际开发中教您NetBeans的使用.
.Eclipse入门之使用指南及开发Ecl.
.Web Service实现包--AXIS2学习笔.
.JAVA内存泄漏,走开!.
.截取指定长度的字符串.
.您的 Java 代码安全吗 — 还是暴.
.CopyFile 方法.
.Java初学者入门——IO包的学习引.
.eclispe下开发struts完整解决乱码.
.Weblogic EJB 学习笔记.
.SWT/JFace入门指南之用Layout管理.
.用Java连接MSSQLServer.

方便的HQL: Hibernate查询语言

发表日期:2008-1-5 |



  HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继续、多态 和关联之类的概念。
  
  15.1. 大小写敏感性问题
  
  除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。
  
  本手册中的HQL要害字将使用小写字母. 很多用户发现使用完全大写的要害字会使查询语句 的可读性更强, 但我们发现,当把查询语句嵌入到Java语句中的时候使用大写要害字比较难看。
  
  15.2. from子句
  
  Hibernate中最简单的查询语句的形式如下:
  
  代码内容
  from eg.Cat
  
  该子句简单的返回eg.Cat类的所有实例。 通常我们不需要使用类的全限定名, 因为 auto-import(自动引入) 是缺省的情况。 所以我们几乎只使用如下的简单写法:
  
  代码内容
  from Cat
  
  大多数情况下, 你需要指定一个别名, 原因是你可能需要 在查询语句的其它部分引用到Cat
  
  代码内容
  from Cat as cat
  
  这个语句把别名cat指定给类Cat 的实例, 这样我们就可以在随后的查询中使用此别名了。 要害字as 是可选的,我们也可以这样写:
  
  代码内容
  from Cat cat
  
  子句中可以同时出现多个类, 其查询结果是产生一个笛卡儿积或产生跨表的连接。
  from Formula, Parameter
  from Formula as form, Parameter as param
  
  查询语句中别名的开头部分小写被认为是实践中的好习惯, 这样做与Java变量的命名标准保持了一致 (比如,domesticCat)。
  
  15.3. 关联(Association)与连接(Join)
  
  我们也可以为相关联的实体甚至是对一个集合中的全部元素指定一个别名, 这时要使用要害字join。
  
  代码内容
  from Cat as cat
  inner join cat.mate as mate
  left outer join cat.kittens as kitten
  from Cat as cat left join cat.mate.kittens as kittens
  from Formula form full join form.parameter param
  
  受支持的连接类型是从ANSI SQL中借鉴来的。
  inner join(内连接)
  left outer join(左外连接)
  right outer join(右外连接)
  full join (全连接,并不常用)
  
  语句inner join, left outer join 以及 right outer join 可以简写。
  
  代码内容
  from Cat as cat
  join cat.mate as mate
  left join cat.kittens as kitten
  
  还有,一个"fetch"连接答应仅仅使用一个选择语句就将相关联的对象或一组值的集合随着他们的父对象的初始化而被初始化,这种方法在使用到集合的情况下尤其有用,对于关联和集合来说,它有效的代替了映射文件中的外联接 与延迟声明(lazy declarations). 查看 第 20.1 节 “ 抓取策略(Fetching strategies) ” 以获得等多的信息。
  
  代码内容
  from Cat as cat
  inner join fetch cat.mate
  left join fetch cat.kittens
  
  一个fetch连接通常不需要被指定别名, 因为相关联的对象不应当被用在 where 子句 (或其它任何子句)中。同时,相关联的对象 并不在查询的结果中直接返回,但可以通过他们的父对象来访问到他们。
  
  注重fetch构造变量在使用了scroll() 或 iterate()函数 的查询中是不能使用的。最后注重,使用full join fetch 与 right join fetch是没有意义的。
  
  假如你使用属性级别的延迟获取(lazy fetching)(这是通过重新编写字节码实现的),可以使用 fetch all properties 来强制Hibernate立即取得那些原本需要延迟加载的属性(在第一个查询中)。
  
  代码内容
  from Document fetch all properties order by name
  from Document doc fetch all properties where lower(doc.name) like ’%cats%’
上一篇:Java基础知识:简单Hibernate入门 人气:427
下一篇:关于OJB和Hibernate框架的评议 人气:413
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号