hibernate 用sql完成多表查詢的結果集如何封裝

時間 2022-04-27 03:51:28

1樓:去吧死去

將student,class關聯建立乙個檢視,然後createsqlquery("查詢檢視")

.setresulttransformer(transformers.aliastobean(檢視vo.class))

.list();

這樣就萬事大吉了

2樓:

他返回的是陣列哦,最後封裝為json物件吧

3樓:newnewnew物件

遍歷你得到的list,把遍歷的每一條記錄放到object陣列中,然後你再把每個陣列中對應的元素放到你的物件中去。也許你的實體類物件中沒有那麼多字段你在實體類中新增幾個字段,然後註解設定成@transient(不對映到資料庫中)。

部分參考**:

list list = userlogservice.getlistbysearch2(year,month,integer.parseint(userid));

listuserloglist = new arraylist();

for(iterator iterator = list.iterator();iterator.hasnext();)

if(obj[3] != null)

if(obj[4] != null)

userloglist.add(userlog);

}最後uerloglist就是你封裝好的物件,不是新手應該能有思路了

hibernate進行多表查詢每個表中各取幾個字段,也就是說查詢出來的結果集沒有乙個實體類與之對應如何解決?

4樓:康熙轉世

可以將copy查詢返回乙個dynabean比如

listlist=statement.executesqlquery("select a.aa,b.bb from a,b");

for(dynabean db:list)

用hibernate對2個物件進行連表查詢,查詢到的資料怎麼才能放到我自己建的實體類集合裡?

5樓:

list裡面放的都是同一型別的資料兩個物件是不能放在乙個集合裡面的。

6樓:姚齊

public listgetlist(string strwhere) {

session session = this.sessionfactory.opensession();

string hql = "select * from tbl_codefactory u where u.sys_delflag=0";

if (commonutil.stringisnotempty(strwhere)) {

hql += strwhere;

sqlquery query = session.createsqlquery(hql).addentity(

tbl_codefactory.class);

listresultlist = (list) query.list();

session.close();

return resultlist;

貼一段我的**給你看看,我沒用哪個什麼hibernatetemplate,

spring3+hibernate4,去掉了什麼hibernatetemplate和hibernatedaosupport,這個直接用sql查詢是沒有問題的,只要你查出來的東西有對應的實體物件就行,像這樣

session.createsqlquery(hql).addentity(tbl_codefactory.class);

7樓:

重新自己寫個dto~~~

用sql語言完成下列問題

1 creat table student 學號 c 5 姓名 c 10 性別 varchar 2 年齡 varchar 3 所屬系 varchar 20 2 select a.學號 from student a,sg b where a.學號 b.學號 and b.成績 60 3 select 姓...

用hibernate怎麼修改指定欄位的值

hibernate中的update obj 方法修改的是乙個物件的所有字段,一旦只修改某個字段,其餘欄位會為null。在日常開發過程中,有時,我們沒有必要修改所有的字段,所以我發現了乙個小技巧 1.前台傳入某個字段 需要修改的 必須包括id主鍵 2.在後台我們可以通過主鍵查詢一遍改資料 3.得到查詢...

怎麼用SQL語句匯入外部檔案,怎麼用SQL語句匯入外部檔案

這樣,開啟sql green 右鍵任務 匯入資料庫檔案 設定好源 選擇為access 下面用sa模式,路徑選擇好,然後你自己就會了 你是sql2005嗎?不同版本有不同的操作如果是sql2005 首先設定sql服務可以啟用openrowset 開啟sql外圍應用配置器 選擇左下腳的 功能的外圍應用配...

SQL求助,用SQL語句做出來

1 select from xsgl.student 這是什麼嘛?這麼難,實在是太難了。支援什麼資料庫mysqloracle 所有手機都可以通過基站進行定位,其原理是利用基站對手機距離的測算來確定手機的位置。這種定位方式的精確度非常依賴於基站的分布以及覆蓋範圍的大小,周圍基站越多,定位效果精度越高。...

hibernate二級快取什麼時候用

使用快取,是需要對應用系統進行效能優化而常採用的一種重要手段。合理地運用快取,可以極大的提高應用系統的執行效率。hibernate中應用快取 因為應用程式訪問資料庫,讀寫資料的代價非常高,而利用持久層的快取可以減少應用程式與資料庫之間的互動,即把訪問過的資料儲存到快取中,應用程式再次訪問已經訪問過的...