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








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








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