2010-02-15 68 views

回答

4

您可以使用定製支持類,並在查詢中使用的關鍵字NEW

SELECT NEW com.mycompany.myapp.MyClass(count, idA, idB) 
FROM ... 
WHERE ... 

中當然,MyClass需要有適當的構造函數定義。

+0

這隻適用於JPQL查詢。這意味着對於具有聚合值列(不是實體的一部分)的結果集,這不起作用。我現在針對這種情況的解決方案是創建一個僅用於保存數據的虛擬實體。 (這將永遠不會被持續) – Rod 2010-02-16 11:51:45

+0

由於這個答案是在2010年給出的,我們計劃在我們的新項目中使用虛擬實體。那麼,有沒有新的方法可用? – Sagar 2015-05-06 12:33:01

1

在Native查詢的情況下,您可以創建一個虛擬實體,結果集可以映射到該實體中(Native查詢將不會映射到Object中,除非它是一個真正的託管實體)。 實體是一個虛擬對象,因爲它不會被持久化,只用於將本機查詢的結果集映射到此實體中。