У меня есть проект весенней загрузки (версия: 2.0.0.M1) , где я использую MySQL DB.
Мой пользовательский репозиторий расширяется JpaRepository<UserEntity, Integer>
. Следующий метод вызывает исключение после обновления моей весенней загрузочной версии до 2.xxRELEASE:
@Query(value = "Select * from user as u where u.is_deleted = FALSE order by field (u.id, :idList)",
nativeQuery = true)
Page<UserEntity> findNonDeletedOrderByIdList(@Param("idList") List<Integer> idList, Pageable pageable);
Исключение:
java .lang.IllegalArgumentException: Невозможно разрешить данный параметр имя [idList] для ссылки на QueryParameter
Пожалуйста, помогите мне.
Примечание: Может дублироваться с Критерии гибернации для sql ЗАКАЗАТЬ ПО ПОЛЕ
ОБНОВЛЕНИЕ:
Не знаю, почему после вставки AND u.id IN (:idList)
до order by
работает
@Query(value = "Select * from user as u where u.is_deleted = FALSE AND u.id IN (:idList) order by field (u.id, :idList)", nativeQuery = true)
Page<UserEntity> findNonDeletedOrderByIdList(@Param("idList") List<Integer> idList, Pageable pageable);
Кто-нибудь может это объяснить?