Мы используем спящий режим в нашем проекте. У нас есть запрос, который требует левого внешнего соединения. Запрос выглядит следующим образом:org.hibernate.queryexception неожиданный токен с [
Как узнать, что я использую JPQL или HQL при написании запросов.
У меня есть сценарий, когда мне нужно реализовать левое внешнее соединение в запросе.
Так что я написал 'с' вместе с левыми внешними ключевыми словами.
Но я получаю следующее исключение:
org.hibernate.queryexception unexpected token with [
Я читал, что с поддерживается HQL, но не с JPQL. Итак, у меня есть 2 вопроса:
1) как определить, используется ли JPQL или HQL и какая версия используется в моем проекте? 2) if 'with' не поддерживается в JPQL, то как реализовать левое внешнее соединение между двумя таблицами с определенным значением свойства.
Запрос выглядит следующим образом:
select v.vId,v.vName,cur.code,con.dxId from
vanTb v, regionTb r, currencyTb cur, connTb con
where
v.vNum = r.vNum
and v.vCode = r.vCode
and v.vId = cur.vId
and v.vId *= con.vId
and con.dlId = 1234 and v.status=1
* = -> левое внешнее соединение в базе данных Sybase ASE.
И именованный запрос как:
select v.vId,v.vName,cur.code,con.dxId from vanTb v inner join v.regionTb r inner join
v.currencyTb left outer join v.connTb con with con.dlId = :DlId where vendor.status = 1
Здесь regionTb, currencyTb и connTb и vanTb является именем сущностей фасоли и vanTb.java имеет regionTb, currencyTb и connTb в качестве memeber переменных.
Atleast разместить свой запрос/код. .. мы можем сказать, как действовать. – Akshay