Заполнение коллекций с использованием проекций данных Spring - PullRequest
0 голосов
/ 15 октября 2019

Я изо всех сил пытаюсь понять, как использовать вложенные проекты / заполнять многие стороны. У меня есть пользовательская сущность, которая имеет отношения ManyToMany с брендом. Я создал следующие интерфейсы проекции ...

interface UserView {
    @Value("#{target.id}")
    fun getId(): Long
    fun getFirstName(): String
    fun getLastName(): String
    fun getBrands(): MutableSet<BrandView>
}

interface BrandView {
    fun getId(): Long
    fun getName(): String
    fun getDescription(): String
}

В моем репозитории у меня есть следующее @Query

@Query("select u.id, u.firstName, u.lastName, b.id, b.name, b.description from User u left join u.brands b where u.id = :id")
fun findByIdUsingProjectionDto(@Param("id") id: Long): UserView

Сгенерированный SQL верен и вернетсоответствующие данные, однако, хотя UserView заполнен данными, getBrands() возвращает ноль. Я не уверен, как получить запрос, чтобы также заполнить коллекцию брендов.

...