当前位置:   article > 正文

hsql语言_hsql是什么语言

hsql是什么语言

Hsql查询语言

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

大小写敏感性问题

除了Java 类与属性的名称外,查询语句对大小写并不敏感。(SeleCT/select效果是一样的,Object/object效果不一样)

from子句

Hibernate 中最简单的查询语句的形式如下:
From object
通常我们不需要使用类的全限定名,因为 autoimport(自动引入)是缺省的情况

别名

from Object as obj   //关键字as是可选的

子句

from Formula, Parameter
子句中可以同时出现多个类,其查询结果是产生一个笛卡儿积或产生跨表的连接。

关联(Association)与连接(Join)

•inner join
•left outer join
•right outer join
•full join(全连接,并不常用)

  1. from Cat as cat
  2. join cat.mate as mate
  3. left join cat.kittens as kitten
通过 HQL 的 with 关键字,你可以提供额外的 join 条件。
  1. from Cat as cat
  2. left join cat.kittens as kitten
  3. with kitten.bodyWeight
  4. > 10.0


如果你使用属性级别的延迟获取(lazy fetching)(这是通过重新编写字节码实现的),可以使用 fetch all properties 来强制 Hibernate 立即取得那些原本需要延迟加载的属性(在第一个查询中)。
from Document fetch all properties order by name

join 语法的形式


HQL 支持两种关联 join 的形式:implicit(隐式) 与 explicit(显式)。

隐式连接和显式连接查询后返回的结果不同。使用隐式连接查询返回的结果是多个被查询实体组成的集合。使用显式连接的结果分为两种:如果HQL语句中省略select关键字时,返回的结果也是集合,但集合元素是被查询持久化对象、所有被关联的持久化对象所组成的数组。如果没有省略select关键字,返回的结果同样是集合,集合中的元素是跟在select关键字后的持久化对象组成的数组。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/889911
推荐阅读
相关标签
  

闽ICP备14008679号