我正尝试将重复的电影放到目录中。
在目录中,我有电影的ID。
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;
}
当我尝试使用此dao时,出现下一个错误:
[Request processing failed; nested exception is java.lang.ClassCastException:
[Ljava.lang.Object; cannot be cast to com.myapp.entities.Movie]
答案 0 :(得分:0)
错误是因为您声明方法的返回类型为List<Movie>
,但实际上您正在查询List<Object[]>
的列表。这是因为在您的SELECT
子句中指定了m.movie.id, count(m.movie.id)
。
如果您想要Movie
对象,则应该SELECT m.movie
...