@ggrachdev

Как можно перевести результаты запроса в POJO в JPA?

Требуется сделать репозиторий, который будет отдавать список POJO.
Делаю запрос со множеством джоинов и результат состоит из колонок с алисами из разных таблиц.
Как я могу перенести результаты запроса на POJO без @Entity, @Id и с какими аннотациями написать репозиторий, чтобы отдавал List?

@Getter
@Setter
@RequiredArgsConstructor
public class SomeObject {

    private String someField1;
    private String someField2;
}


Пока что на ум приходит лишь создать репозиторий с entityManager'ом, сделать запрос и объекты самому создавать, но это точно не правильный вариант.
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@ggrachdev Автор вопроса
Чтобы вернуть DTO, без аннотации Entity нужно (Код примерный, не могу вставить оригинал):

@Query("select\n"
            + "  new ru.test.dto.MyDTO(\n"
            + "    q.field1,"
            + "    q.field2"
            + ")\n"
            + "from Test bp\n"
            + "  left join ...\n"
            + "  left join ...\n"
            + "  left join ...\n"
            + "  left join ...\n"
            + "  left join ...\n"
            + "where\n"
            + " ...")
    List<MyDTO> findMethod(...);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Wan-Derer
Зобанели на Хабре, волки́ ;((
По-моему, тут либо с Entity, либо без JPA :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы