2011-05-18 32 views
2

在休眠狀態下,可能會將查詢結果獲取到映射的數據庫對象。hibernate查詢結果到預定義的對象?

是否可以創建一個非持久對象並將查詢結果導入到此對象中?

例如

session.createSQLQuery(select a,b,c from table).list.addEntity(myclass.class) 

如果MyClass的是:

public class myclass{ 

private int a; 

private int b; 

private int c; 
. 
. 
. 
} 

回答

4

您可以使用AliasToBeanResultTransformer

session.createSQLQuery("select a,b,c from table") 
    .setResultTransformer(new AliasToBeanResultTransformer(myclass.class)) 
    .list(); 
+0

的感謝!這是我需要的。 – AAaa 2011-05-18 15:01:45

+0

我如何做到這一點,如果'一個'是一個外鍵到另一個表的列,我希望該表的記錄抓取到一個對象,但該對象也是一個非持久對象? – AAaa 2011-06-13 11:07:08

+0

@dan:我想你需要創建一個自定義的'ResultTransformer'。 – axtavt 2011-06-13 11:39:32

0

顯然,Hibernate將只與被映射的時間提前班工作。

相關問題