У меня ниже jpql в коде моего приложения и все отлично работает в оракуле.
@Query("select mie from KirTable mie where mie.kirTable2.id =(?1) and rownum<=1 order by mie.id ASC")
KirTable getInquiryByCaseid(String caseId);
Однако недавно мы перешли на mysql, и теперь я получаю сообщение об ошибке, как показано ниже.
unknown column rownum
Я изменил значение rownum на LIMIT 1, как показано ниже
@Query("select mie from KirTable mie where mie.kirTable2.id =(?1) order by mie.id ASC LIMIT 1")
KirTable getInquiryByCaseid(String caseId);
Вышеупомянутый запрос отлично работает на MySQL Workbench, но завершается неудачно, когда приложение запускается и получает следующую ошибку.
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:
unexpected token: LIMIT near line 1, column 95 [select e from com.kir.entity.KirTable e where e.caseId=(?1) order by e.id ASC LIMIT 1]
Как заставить этот запрос работать в MySQL 8.0?