- 浏览: 1957 次
- 性别:
- 来自: 北京
最新评论
文章列表
七、HQL查询的where子句
(1)where子句用于筛选选中的结果,缩小选择的范围。如果没有为持久化实例命名别名,则可以直接使用属性名来引用属性。
如下面两条HQL语句:
from Person where name like "tom%"
form Person as p where p.name like "tom%"
(2)复合属性表达式加强了where子句的功能,例如,如下的HQL语句:
from Cat cat where cat.mate.name like "kit%"
上面语句被翻译成以下含有内连接的S ...
四、HQL查询的select子句
(1)select子句用于选择指定的属性或直接选择某个实体,当然select选择的属性必须是from后持久化类包含的属性。
例如:
select p.name from Person as p
(2)select可以选择任意属性,即不仅可以选择持久化类的直接属性,还可以选择组件属性包含的属性。例如:
select p.name.firstName from Person as p
(3)在特殊情况下,如果select后只有一项(包括持久化实例或属性),则查询得到的集合元素就是该持久化实例或属性。
(4)如果select后有多个项,则每个集合就是选择 ...
一、HQL查询的from子句
from是最简单的语句,也是最基本的HQL语句。from关键字后紧跟持久化类的类名。
例如:
from Person 表明从Person持久化类中选出全部的实例
推荐为Person持久化类的每个实例起别名,例如:
from Person as p
p作为Person的实例的别名,因此也应该遵守Java的命名规则:第一个单词的首字母小写,后面每个单词的首字母大写。
命名别名时,as关键字是可选的,但为了增加可读性,建议保留。
from 后还可同时出现多个持久化类,此时将产生一个笛卡尔积或跨表的连接,但实际上这种用法很少使用,因为通常我们可能需要使用跨 ...