本文向大家介紹Hibernate屬性查詢可能好多人還不了解Hibernate屬性查詢沒有關系看完本文 你肯定有不少收獲希望本文能教會你更多東西
今天說一下Hibernate屬性查詢使用HQL的時候並不是把 hbmxml 裡面的所有屬性取出來只取出有 用的屬性便可以了舉個例子
List list =sessioncreateQuery
(select usernameuserage from TUSER user)list();
Iterator it = erator();
while(ithasNext())
{
Object[] results = (Object[])itnext();
Systemoutprintln(results[]);
Systemoutprintln(results[]);
}
如果覺得返回數組的方式不夠符合面向對象的風格也可以使用構造對象實例的方法對數組進行封裝
List list = thissessioncreateQuery
( select new TUser(usernameuserage) from TUser as user)list();
Iterator if = erator();
while(ithasNext())
{
TUser user = (TUser)itnext();
Systemoutprintln(usergetName());
}
著愛與那個就比較形象化一些但是有一點要注意的是這個查詢結果的TUser對象僅僅是一普通的 java 對象進用於對查詢結果的封裝除了在構造是賦予的屬性值外其他屬性均為未賦值狀態這就 意味著我們無法通過 Session 對此對象進行更新如果企圖對 user 對象更新將導致向數據庫插入一 條新的記錄而不是更新原有記錄
while(ithasNext())
{
TUser user = (TUser)itnext();
usersetName(test);
sessionsaveOrUpdate(user);
//這裡將導致一次 insert 操作而非 update
}
也可以使用像 SQL 那樣的統計函數比如
selet count(*)min(userage) from TUser as user
select upper(username) from TUser as user
select distinct username from TUser as user
以上介紹Hibernate屬性查詢
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28229.html