您好,登錄后才能下訂單哦!
Hibernate中怎么實現屬性查詢,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
List list =session.createQuery
("select user.name,user.age from TUSER user").list();Iterator it = list.iterator();
while(it.hasNext())
...{
Object[] results = (Object[])it.next();
System.out.println(results[0]);
System.out.println(results[1]);
}
如果覺得返回數組的方式不夠符合面向對象的風格,也可以使用構造對象實例的方法對數組進行封裝:
List list = this.session.createQuery
(" select new TUser(user.name,user.age) from TUser as user").list();Iterator if = list.iterator();
while(it.hasNext())
...{
TUser user = (TUser)it.next();
System.out.println(user.getName());
}
著愛與那個就比較形象化一些,但是有一點要注意的是這個查詢結果的TUser對象僅僅是一普通的 java 對象,進用于對查詢結果的封裝,除了在構造是賦予的屬性值外,其他屬性均為未賦值狀態,這就意味著,我們無法通過 Session 對此對象進行更新,如果企圖對 user 對象更新將導致向數據庫插入一條新的記錄,而不是更新原有記錄:
while(it.hasNext()) ...{ TUser user = (TUser)it.next(); user.setName("test"); session.saveOrUpdate(user); //這里將導致一次 insert 操作,而非 update }
也可以使用像 SQL 那樣的統計函數,比如:
selet count(*),min(user.age) from TUser as user select upper(user.name) from TUser as user select distinct user.name from TUser as user
關于Hibernate中怎么實現屬性查詢問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。