次のクエリを検討してください。
entityManager.createQuery("SELECT r.firstname, r.lastname, r.address FROM User r", queryResultDTO.class).getResultList;
問題は、さまざまなクエリ (さまざまなエンティティからさまざまな属性を選択する) を処理する必要があり、すべての結果を同じ queryResultDTO.class にマップする必要があることです。QueryResultDTO は、クエリが返す可能性のあるすべての属性を含むように構築されています。
クエリが常に QueryResultDTO のリストを返すようにすることは可能ですか?返されるオブジェクトは選択された属性を true にし、選択されていない属性は null のままになりますか?