ВЫБОРКА СОЕДИНЕНИЯ СЛЕВА в режиме гибернации с подзапросом

#hibernate #jpa #spring-data-jpa #hql

#переход в режим гибернации #jpa #весна-данные-jpa #hql

Вопрос:

Я получаю сообщение об ошибке org.hibernate.hql.internal.ast.QuerySyntaxException: , это мой запрос на HQL

  @Query(value = "FROM RateValue r "
              "LEFT JOIN FETCH r.status "
              "LEFT JOIN FETCH r.rate "
              "LEFT JOIN FETCH r.parameterValues v "
              "LEFT JOIN FETCH v.status "
              "LEFT JOIN (select * from parameter p "
              "WHERE p.status_id = 1) p on p.id = v.parameter.id "
              "WHERE r.status_id= 1 AND r.rate.id=:rateId AND r.branchValue in :branchCodes"
 

Я пытаюсь изменить свой запрос, который работает в mysql

 select *
FROM rates.rate_value r
  left join rates.status s on s.id = r.status_id
  left join rates.rate ra on ra.id = r.rate_id
  LEFT JOIN rates.rate_parameter_value rrp on r.id = rrp.rate_value_id
  LEFT join rates.parameter_value pV on rrp.parameter_value_id = pV.id
  LEFT JOIN (SELECT * from
                rates.parameter p
              WHERE (p.status_id = 1 ) ) p on p.id=pV.parameter_id
 

Может кто-нибудь знает, как правильно написать запрос HQL с помощью этого SQL?

Комментарии:

1. from Parameter , буква «Р» должна быть прописной.

2. или лучше, LEFT JOIN rates.parameter p ON p.id=pV.parameter_id AND p.status_id = 1

3. я получаю ошибку yhsi: ОШИБКА: отсутствует запись в предложении для таблицы «status7_»

4. Какое исключение вы получаете при выполнении созданного вами JPQL? Пожалуйста, поделитесь всей трассировкой стека ошибки. Кроме того, попробуйте изменить select * select p на подзапрос.

5. Вызвано: org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен: ( рядом со строкой 1, столбец 172 [ИЗ kz.sanscrit.cbs.rates.domain.rates. RateValue r ВЫБОРКА ЛЕВОГО СОЕДИНЕНИЯ r.status ВЫБОРКА ЛЕВОГО СОЕДИНЕНИЯ r.rate ВЫБОРКА ЛЕВОГО СОЕДИНЕНИЯ r.Значения параметров v СЛЕВА