我在JBoss和使用JPA中運行應用程序。如何查詢未映射到實體的ResultSet的數據庫(JPA,JBoss)
對於報告中,我通過查詢需要一組我希望返回具有以下結構例子的結果集:
count,idA,idB
我沒有找到一種方式,JPA來實現這一點。
什麼是執行這一考慮我我最好的選擇正在開發到JBoss 5,EJB3
我在JBoss和使用JPA中運行應用程序。如何查詢未映射到實體的ResultSet的數據庫(JPA,JBoss)
對於報告中,我通過查詢需要一組我希望返回具有以下結構例子的結果集:
count,idA,idB
我沒有找到一種方式,JPA來實現這一點。
什麼是執行這一考慮我我最好的選擇正在開發到JBoss 5,EJB3
您可以使用定製支持類,並在查詢中使用的關鍵字NEW
:
SELECT NEW com.mycompany.myapp.MyClass(count, idA, idB)
FROM ...
WHERE ...
中當然,MyClass
需要有適當的構造函數定義。
在Native查詢的情況下,您可以創建一個虛擬實體,結果集可以映射到該實體中(Native查詢將不會映射到Object中,除非它是一個真正的託管實體)。 實體是一個虛擬對象,因爲它不會被持久化,只用於將本機查詢的結果集映射到此實體中。
這隻適用於JPQL查詢。這意味着對於具有聚合值列(不是實體的一部分)的結果集,這不起作用。我現在針對這種情況的解決方案是創建一個僅用於保存數據的虛擬實體。 (這將永遠不會被持續) – Rod 2010-02-16 11:51:45
由於這個答案是在2010年給出的,我們計劃在我們的新項目中使用虛擬實體。那麼,有沒有新的方法可用? – Sagar 2015-05-06 12:33:01