1. 用普通的"select user.account, user.email from User as user",程序片斷如下:








這時調(diào)用Query類的list方法返回的將是一個每個元素都是一個Object數(shù)組的List。如果只獲取一個屬性,那么返回的List中的每個元素都是String實(shí)例。
2.在HQL中用new操作符生成實(shí)體對象,例如:"select new User(user.account, user.email) from User as user",程序片斷如下:








這時list方法返回的List中的每一個元素都是User實(shí)體對象。這里有三點(diǎn)需要注意的:
a.在HQL語句中需要使用as操作符指定User的別名,并且需要在構(gòu)造函數(shù)的屬性前面加上別名;
b.HQL語句中的構(gòu)造函數(shù)在User類中必須要有相應(yīng)的構(gòu)造函數(shù);
c.生成的實(shí)體對象是VO對象,如果對這些對象調(diào)用Session的saveOrUpdate方法將導(dǎo)致插入新的記錄,而不是更新記錄。