Привет, я собираюсь выяснить, как можно вернуть 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]