Możesz stworzyć obiekt używając kolumn jako parametrów dla konstruktora.
Podam ci własny przykład z niestandardowym DTO, który wykonałem:
@Query("SELECT new org.twinnation.site.dto.TitleAndDescriptionAndId(a.title, a.description, a.id) "
+ "FROM Article a")
List<TitleAndDescriptionAndId> getAllArticlesWithoutContent();
Gdzie DTO TitleAndDescriptionAndId
jest następująca:
public class TitleAndDescriptionAndId {
private String title;
private String description;
private Long id;
public TitleAndDescriptionAndId(String title, String description, Long id) {
this.title = title;
this.description = description;
this.id = id;
}
// ...
}