JPQL查詢可以返回定製導致與NEW
操作對象:等同於新的運營商使用存取器,而不是construtor
SELECT NEW myPackage.MyVO(e.fieldX, e.relationshipX.fieldY)
FROM MyEntity AS e
這是養活虛擬組織是非常有用的。問題是,您必須創建與查詢投影的參數,順序和類型數量完全匹配的構造函數。當你對同一個VO使用很多投影時,這會開始變得混亂......要麼你的VO中有一個大的構造函數,並且在你的查詢中使用很多NULL
文字,或者你的VO必須有很多不同的構造函數。
所以我的問題是:在JPQL有沒有辦法通過增強器而不是構造函數設置結果對象字段?
對於.NET背景的人來說,我期待着相當於LINQ + object initializers。
這是DataNucleus的一個非常棒的功能,沒有非標準的API和我需要的行爲。我一定會嘗試大核。DataNucleus有任何機會將其作爲Persistence API的新功能[(當前JSR)](http://jcp.org/en/jsr/proposalDetails?id=338)。幸運的是,我們可以爲JPA 2.2或JPA 3創建標準:D。 –
我沒有計劃要求,但你可以很容易。只需訪問http://java.net/projects/jpa-spec在問題跟蹤器中簡單提出一個「問題」,然後記下它,並且可以跟蹤 – DataNucleus