查询语句可以返回值为任何类型的属性或对象,包括返回类型为某种组件(Component)的属性:
select cust.name.firstName
from Customer as cust
select cat.mate
from Cat cat
查询语句可以返回多个对象和(或)属性,存放在
Object[]
队列中:
select mother
, offspr
, mate.name
from DomesticCat as mother
inner join mother.mate as mate
left join mother.kittens as offspr
或存放在一个List
对象中:
select new list
(mother, offspr, mate.name)
from DomesticCat as mother
inner join mother.mate as mate
left outer join mother.kittens as offspr
也可能直接返回一个实际的类型安全的Java对象(假设类Family
有一个合适的构造函数
):
select new Family(
mother, mate, offspr)
from DomesticCat as mother
join mother.mate as mate
left join mother.kittens as offspr
也可以使用关键字as
给“被选择了的表达式”指派别名:
select max(bodyWeight) as max
, min(bodyWeight) as min
, count(*) as n
from Cat cat
这种做法在与子句select new map
一起使用时最有用:
select new map(
max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )
from Cat cat
本文探讨了SQL查询语句如何返回不同类型的属性或对象,包括组件、列表、Java对象,以及使用别名和子句增强查询能力的方法。
188

被折叠的 条评论
为什么被折叠?



