JPQL クエリは、NEW
演算子を使用してカスタム結果オブジェクトを返すことができます。
SELECT NEW myPackage.MyVO(e.fieldX, e.relationshipX.fieldY)
FROM MyEntity AS e
これは VO にフィードするのに非常に便利です。問題は、引数の数、順序、およびクエリ プロジェクションの型と正確に一致するコンストラクターを作成する必要があることです。これは、同じ VO に多くのプロジェクションを使用すると厄介になります... VO に 1 つの大きなコンストラクターがありNULL
、クエリで多くのリテラルに頼るか、VO に多くの異なるコンストラクターが必要です。
私の質問は次のとおりです。JPQLで、コンストラクターの代わりにミューテーターを介して結果オブジェクトフィールドを設定する方法はありますか?
.NET のバックグラウンドを持つ人々にとって、私はLINQ + object initializerに相当するものを探しています。