Репозиторий Micronaut JDBC - Исключение при попытке выполнить запрос

Я новичок в работе с Micronaut. Недавно получил новую работу в компании, которая его использует.

@JdbcRepository()
public interface UserDataRepository extends CrudRepository<UserRecord, UUID> {

    ...

    @Query(value = "SELECT * FROM Users u " +
            "INNER JOIN LabUsers lu ON u.Id = lu.UserID " +
            "WHERE :labID = lu.LabID")
    List<UserRecord> findByLabID(final String labID);

}

Каждый раз, когда я пытаюсь выполнить этот метод, запустив интеграционный тест, я получаю следующее исключение:

io.micronaut.http.client.exceptions.HttpClientResponseException: Internal Server Error: Unable to set PreparedStatement value: The index 1 is out of range.

На самом деле пытаюсь понять это. Описал это коллеге, у которого тоже нет идей, что бы попробовать.

В другом месте этого проекта есть некоторый уже существующий код, который делает что-то очень похожее. Работает нормально.

Заранее спасибо.


person Chris    schedule 09.02.2021    source источник
comment
Я ничего не знаю о micronaut, но это похоже на Spring data Jpa, где я ожидал бы @Param в параметре метода labID.   -  person Nathan Hughes    schedule 09.02.2021
comment
Спасибо за идею. Я понимаю, что вы имеете в виду, я обычно сам использую Spring, но это не относится к Micronaut.   -  person Chris    schedule 10.02.2021


Ответы (1)


Исправлена ​​проблема. Решением было сменить версию micronaut-data на 2.0.0. Раньше это была версия 2.2.0.

Я упомянул, что этот код работает в другом месте проекта - это была ошибка, он работал в другом месте в другом проекте, и в этом проекте использовалась версия 2.0.0.

person Chris    schedule 10.02.2021
comment
Изменилось ли что-нибудь в версии micronaut-data 2.2.0, что создает эту проблему? - person AmitB10; 18.02.2021
comment
Не то чтобы я мог видеть. Я просмотрел примечания к выпуску и, похоже, ничего существенного не изменилось. Но изменение версии исправило это без каких-либо изменений кода. - person Chris; 18.02.2021