orderDAO.getOrderIdByUserId(userId)
возвращает список BigDecimal
, а не Long
, я бы предположил. Трудно сказать без кода для этого метода.
РЕДАКТИРОВАТЬ (теперь, когда код существует): Учитывая https://stackoverflow.com/a/5380867/1506009,, вы можете видеть, что некоторые базы данных (на ум приходит Oracle) возвращаютBigDecimal
(точнее List<BigDecimal>
) при вызове list()
в Hibernate. Ваш Java-код некорректен при использовании необработанного List
и просто допускает некоторый тип, когда он действительно другой.
getOrderIdByUserId()
может вернуть List<? extends Number>
, что соответствует как Long
, так и BigDecimal
;или он может вернуть List<BigDecimal>
, если это правда. Чтобы не использовать необработанные типы!
setParameterList()
допускает третий параметр, тип элементов списка. Используйте это.