zzeng

zzeng

2005年12月18日 #

Hibernate取得Select的值

http://www.hibernate.org/hib_docs/reference/zh-cn/html/queryhql.html#queryhql-select

查询可以返回任何值类型的函数,

select子句选择在结果集中返回哪些对象和属性。思考一下下面的例子:

select mate 
from eg.Cat as cat
inner join cat.mate as mate

这个查询会选择出作为其它猫(Cat)朋友(mate)的那些猫。当然,你可以更加直接的写成下面的形式:

select cat.mate from eg.Cat cat

你甚至可以选择集合元素,使用特殊的elements功能。下面的查询返回所有猫的小猫。

select elements(cat.kittens) from eg.Cat cat

查询可以返回任何值类型的属性,包括组件类型的属性:

select cat.name from eg.DomesticCat cat
where cat.name like 'fri%'

select cust.name.firstName from Customer as cust

查询可以用元素类型是Object[]的一个数组返回多个对象和/或多个属性。

select mother, offspr, mate.name 
from eg.DomesticCat as mother
inner join mother.mate as mate
left outer join mother.kittens as offspr

或者实际上是类型安全的Java对象

select new Family(mother, mate, offspr)
from eg.DomesticCat as mother
join mother.mate as mate
left join mother.kittens as offspr

上面的代码假定Family有一个合适的构造函数。


posted @ 2005-12-18 10:39 zzeng 阅读(1532) | 评论 (0)编辑 收藏