Обходной путь для псевдостолбца rownum с использованием jpql для MySql8.0 - PullRequest
0 голосов
/ 10 апреля 2019

У меня ниже 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...