2017-05-08 57 views
0

以下是我正在嘗試執行的操作: 1.發送HQL以填充「User」Hibernate對象。 2.發送本機SQL以從「User」表中非常大的數據列中檢索較小的數據集。 3.將映射的Hibernate對象與步驟2的列結果相結合。將Hibernate ResultTransformer結果與原始Hibernate對象結合起來

我讀到ResultTransformer可以用來將結果集從2映射到Hibernate實體,在我的情況下是「User」實體。有沒有辦法將ResultTransformer映射的結果插入我的原始用戶實體?

以下是一些示例:1. HQL - 來自用戶。我們爲User使用Hibernate映射文件並使用Bytecode Enhancement,我們設置了「xmlStringColumn lazy = true」。 String hql =「FROM User」; List users = session.createQuery(hql).list(); 2.我們將查詢發送
列表resultXML = s.createSQLQuery( 「XML SQL得到具體的數據」) .setResultTransformer(Transformers.aliasToBean(User.class)) .LIST();

用戶dto =(用戶)resultWithAliasedBean.get(0); //將需要代碼將用戶dto從SQL組合到原始

回答

0

ResultTransformer將一對多關係對象捆綁爲單個對象。 例如,

類A {

集B =新的Hashset();

}

所以如果你開始從A類查詢,並添加基於B加入它會創建A.

使用ResultTransformer束數據爲單一目的的multipe對象告終。

你可以請張貼代碼,這樣我們就可以瞭解你是什麼時候達到成功!

+0

以下是一些示例: – shaselai

+0

以下是一些示例:1. HQL - 來自用戶。我們爲User使用Hibernate映射文件並使用Bytecode Enhancement,我們設置了「xmlStringColumn lazy = true」。 String hql =「FROM User」; List users = session.createQuery(hql).list(); 2.我們發送查詢 List resultXML = s.createSQLQuery( 「XML SQL to get specific data」) .setResultTransformer(Transformers.aliasToBean(User.class)) .list(); 用戶dto =(用戶)resultWithAliasedBean.get(0); //將需要代碼將用戶dto從SQL組合到原始 – shaselai

+0

檢查用戶的選擇列表名稱和屬性名稱是否相同 –

相關問題