概括Hibernate查询语言

开发 后端
这里介绍Hibernate查询语言,Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询。

在向大家详细介绍Hibernate查询语言之前,首先让大家了解下大小写敏感性问题,然后全面介绍Hibernate查询语言。

Hibernate查询语言

Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。

大小写敏感性问题

除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。

本手册中的HQL关键字将使用小写字母. 很多用户发现使用完全大写的关键字会使查询语句 的可读性更强, 但我们发现,当把查询语句嵌入到Java语句中的时候使用大写关键字比较难看。

关联(Association)与连接(Join)

我们也可以为相关联的实体甚至是对一个集合中的全部元素指定一个别名, 这时要使用关键字join。

  1. from Cat as cat  
  2. inner join cat.mate as mate  
  3. left outer join cat.kittens as kitten  
  4. from Cat as cat left join cat.mate.kittens as kittens  
  5. from Formula form full join form.parameter param 

受支持的连接类型是从ANSI SQL中借鉴来的。
◆inner join(内连接)
◆left outer join(左外连接)
◆right outer join(右外连接)
◆full join (全连接,并不常用)

还有,一个"fetch"连接允许仅仅使用一个选择语句就将相关联的对象或一组值的集合随着他们的父对象的初始化而被初始化,这种方法在使用到集合的情况下尤其有用,对于关联和集合来说,它有效的代替了映射文件中的外联接 与延迟声明(lazy declarations).以上介绍Hibernate查询语言。

【编辑推荐】

  1. Spring Hibernate简单讨论
  2. OSGi与Spring:设置Spring DM开发环境
  3. 使用Spring DM创建Hello World,以及OSGi服务
  4. Spring MVC总结:善用注解,生活更轻松
  5. 概括spring hibernate集成
责任编辑:佚名 来源: Yesky
相关推荐

2009-09-23 18:05:48

2009-09-25 10:22:35

Hibernate多表

2009-09-21 16:56:14

Hibernateibatis

2009-09-25 15:15:54

Hibernate检索

2009-09-28 15:24:38

Hibernate V

2009-09-24 09:25:10

Hibernate批量

2009-09-28 17:27:27

Hibernate A

2009-09-22 13:31:28

Hibernate C

2009-09-22 17:55:51

Spring Hibe

2009-09-22 09:31:15

Hibernate主键

2009-09-27 14:33:01

Hibernate批量

2009-09-28 09:56:53

Hibernate属性

2009-09-25 13:18:15

Hibernate数据

2009-09-22 13:12:25

Hibernateibatis

2009-09-22 09:40:03

cascade和invHibernate

2009-09-21 16:40:42

Hibernate可行

2009-09-22 14:52:55

Hibernate p

2009-09-24 13:45:53

Hibernate性能

2009-09-23 13:21:32

Hibernate O

2009-09-24 10:15:37

Hibernate查询
点赞
收藏

51CTO技术栈公众号