2012-12-08 20 views
3

我有一個本機SQL查詢返回幾個計算結果(如來自幾個表的總和和平均值),我想將這些結果加載到包含所有必要字段的自定義對象中。我知道Hibernate提供了addEntity方法,它允許您指定結果表示的映射實體的類型。Hibernate:有沒有辦法將原生SQL結果自動轉換爲自定義對象?

在這種情況下,由於結果是從多個表中獲取的,因此我使用的自定義對象不是映射實體。有沒有辦法讓hibernate返回List<CustomObject>或者我將不得不手動將結果複製到適當的對象?謝謝。

Query query = this.sessionFactory.getCurrentSession().createSQLQuery(queryString.toString()); 

return (List<CustomObject>)query.list(); //doesn't work, obviously 
+0

爲什麼不使用hibernate查詢? – Jaanus

+0

映射有許多渴望的訪問(這些在應用程序的其他部分很方便),導致了很多不必要的連接和數據讀取,導致可見的性能下降。涉及到很多表格,我認爲調整所有獲取策略的成本並不值得。 – JayPea

回答

相關問題