Как вернуть проекцию с коллекцией из Hibernate createQuery HQL - PullRequest
0 голосов
/ 22 марта 2019

Привет, я собираюсь выяснить, как можно вернуть Projection, содержащий список из createQuery на HQL. Моя сущность содержит набор элементов, которые я собираюсь использовать в проекции / DTO.

Entity

data class Entity (
    @Id
    val id: Int,
    val name: String?,
    val elements: MutableSet<Elements> = mutableSetOf(),
... ... ... .. .. .. .. ...

)

DTO

data class ClassWithProjection (
    val id: Int,
    val name: String?,
    val elements: Set<Elements> = emptySet()
)

Конфигурация репозитория:

entityManager.createQuery(
            """SELECT new com.package.ClassWithProjection(t.id, t.name, t.elements)
                FROM Table t
                WHERE t.id IN :ids
        """, ClassWithProjection::class.java
        ).setParameter("ids", ids)
            .resultList

Но я получаю ошибку при выполнении запроса:

o.h.e.j.s.SqlExceptionHelper - ОШИБКА: синтаксическая ошибка в или около "." InvalidDataAccessResourceUsageException: не удалось извлечь ResultSet; SQL [н / п]; вложенное исключение org.hibernate.exception.SQLGrammarException: не удалось извлечь ResultSet]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...