[Ljava.lang.Object;не может быть приведен к - PullRequest
0 голосов
/ 19 октября 2018

Я пытался получить повторные фильмы в каталоге.

В каталоге у меня есть идентификатор фильмов.

CatalogDaoImpl.class

@SuppressWarnings({ "unchecked" })
    @Override
    @Transactional
    public List<Movie> findMovies() {
        String query = "SELECT m.movie.id, count(m.movie.id)"
                + " from Catalog m group by m.movie.id"
                + " order by count(m.movie.id)";
        List<Movie> movies = getSession().createQuery(query).getResultList();

        return movies;
    }

Когда я пытаюсь использовать этот дао, я получаю следующую ошибку:

[Request processing failed; nested exception is java.lang.ClassCastException: 
[Ljava.lang.Object; cannot be cast to com.myapp.entities.Movie]

1 Ответ

0 голосов
/ 19 октября 2018

Ошибка в том, что вы объявили тип возвращаемого метода как List<Movie>, но фактически вы запрашиваете список List<Object[]>.Это потому, что в вашем предложении SELECT вы указали m.movie.id, count(m.movie.id).

Если вы хотите Movie объектов, вы должны SELECT m.movie ...

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