#spring-boot #jpa #spring-data-jpa
#spring-boot #jpa #spring-data-jpa
Вопрос:
Я использую spring-data-jpa, и в моем интерфейсе JpaRepository я использовал функцию ‘findFirst‘, но она терпит неудачу, когда мой метод репозитория имеет целочисленный параметр.
Репозиторий:
public interface EmployeeRepository extends
JpaRepository<Employee, Integer> {
Employee findFirstByAgeOrderByEmployeeId(int age);
}
Класс сущности:
@Entity
Employee{
@Id
int employeeId;
int age;
String name;
}
Запрос, который он генерирует, выглядит следующим образом
select e.employeeId, e.age, e.name from Employee e where e.age = ? Order by e.employeeId limit ?
Получаю следующую ошибку
org.springframework.dao.InvalidDataAccessApiUsageException: для запросов с именованными параметрами необходимо использовать предоставление имен для параметров метода. Используйте @Param для параметров метода запроса или когда на Java 8 используйте javac flag -parameters.; вложенным исключением является java.lang.Исключение IllegalStateException: для запросов с именованными параметрами необходимо использовать предоставление имен для параметров метода. Используйте @Param для параметров метода запроса или когда на Java 8 используйте флаг -параметры javac.
Ответ №1:
возможно, ваш запрос не подходит: findFirstByAge»Oderder»по EmployeeID попробуйте «Заказать».
И используйте объекты вместо примитива (целое число вместо int), иногда hibernate использует методы получения и установки для доступа к данным.
Комментарии:
1. Это была проблема с опечаткой Alejandrao/