Вызывает ли JVM конвертор, когда мы получаем поля из БД напрямую для DTO

Есть запрос в Dao слое такого плана:

return entityManager.createQuery("select new models.dto.chat.NewDto(" +
                "id, title, image) from SomeClass", NewDto.class)

Обращается ли в конвертор java, для того что бы собрать сущность с указанными полями, а потом конвертировать и вернуть в контроллер Dto? Или явно по указанным полям создаётся сущность Dto и участие конвертора здесь нет? Спасибо всем кто пишет по делу! =)


Ответы (1 шт):

Автор решения: Roman Konoval

Тут конвертор никак не используется.

В данном куске кода объект типа NewDto создается явно с помощью конструктора из полей сущности SomeClass. Реализация JPA ищет в NewDto конструктор с параметрами соответствующих типов и вызывает его, чтоб создать объекты.

→ Ссылка