@Query возвращает страницу объекта вместо страницы объекта сущности - PullRequest
0 голосов
/ 01 апреля 2020

У меня была проблема с Spring Data, у меня есть ReserveRepository, который расширяет PagingAndSortingRepository <>, и этот интерфейс имеет эту аннотацию запроса с внутренним объединением:

@Query("SELECT r.id, r.name, r.description, i FROM Reserve r INNER JOIN r.image i")
Page<Reserve> findWithoutAnimal(Pageable pageable);

Но когда я вызываю этот метод вместо того, чтобы возвращать страницу, подобную сигнатуре метода, она возвращает страницу.

Почему это происходит?

Я решил эту проблему, создав собственный конструктор в моей модели и изменив JPQL для использования этого конструктора, как в следующем примере:

@Query("SELECT new com.package.thepackage.model.Reserve(r.id, r.name, r.description, r.image) FROM Reserve r")

Но есть и другое решение?

Спасибо!

...