Мне нужно использовать: в одном из кодов репозитория, но он постоянно выдает ошибку
org.hibernate.QueryException: Space is not allowed after parameter prefix ':' [SELECT (@row_number //:=@row_number+1) AS num, schedule_date FROM TestTable.tbl_doc_package, (SELECT @row_number:=0) AS t ; ]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: Space is not allowed after parameter prefix ':' [SELECT (@row_number:=@row_number+1) AS num, schedule_date FROM TestTable.tbl_doc_package, (SELECT @row_number:=0) AS t ; ]"
Я уже пробовал множество похожих вопросов и ответов, которые предлагали:
1) Использоватьвнутри одинарной кавычки ': =' OR ': ='
2) Использовать \ или \ перед:
3) Обновить до спящего режима 4.xx или 5.xx Я не могуполучить версию hibernate, которую использует мой проект.Я добавил
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.5.Final</version>
</dependency>
после того, как обнаружил, что должен использовать последнюю версию Hibernate, но это не имеет никакого значения.Как уже говорилось ранее, я не могу определить, какую версию Hibernate использует мой проект.
@Repository
public interface DocPackageRepository extends JpaRepository<DocPackage, Integer> {
@Query(value = "SELECT (@row_number:=@row_number+1) AS num, schedule_date FROM TestTable.tbl_doc_package, (SELECT @row_number:=0) AS t ; ", nativeQuery = true)
List<Date> addDocPackageManifestVoyageTest();
}
Я также прочитал, что мне может понадобиться использовать функции sql, но я не могу понять, как ониработа в моем контексте.