Я получаю следующую ошибку для запроса HQL.
Я вижу правильный путь, я не понимаю, чего здесь не хватает.
Не могли бы вы помочь?
Причина: org.hibernate.hql.internal.ast.QuerySyntaxException: Путь, ожидаемый для соединения! [ВЫБЕРИТЕ ОТЛИЧИЕ ОТ КОММЕНТАРИИ com.mandatum.epeli.model.domain.GroupCoverPeriod rt ВНУТРЕННЕЕ ВСТУПЛЕНИЕ rt.pensionGroup EL LEFT ПРИСОЕДИНЯЙТЕСЬ к rt.insuranceCoverInfos ici СЛЕДУЕТ ПРИСОЕДИНЯТЬСЯ К ОБЪЕДИНЕННОМУ ИСПОЛЬЗОВАНИЮ СИСТЕМЫ ДЛЯ ОБЕСПЕЧЕНИЯ ИСПОЛЬЗОВАНИЯ ИСПОЛЬЗОВАНИЯ ИСПОЛЬЗОВАНИЯ ИСПОЛЬЗОВАНИЯ ИСПОЛЬЗОВАНИЯ В ОБЛАСТИ ИСПОЛЬЗОВАНИЯ ИСПОЛЬЗОВАНИЯ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ ДЛЯ ОБЕСПЕЧЕНИЯ ДОСТИЖЕНИЯ ИСПОЛЬЗОВАНИЯ В ОБЛАСТИ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ ИСПОЛЬЗОВАНИЯ tth ГДЕ el.id =? 1 AND rt.startDate <=? 2 AND (rt.endDate равен NULL ИЛИ rt.endDate> =? 2) И UPPER (e.benefitsId) = UPPER (? 3)] в org.hibernate .hql.internal.ast.QuerySyntaxException.convert (QuerySyntaxException. java: 74) в org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException (ErrorCounter. java: 91) в org.hibernate
@Query(value =
"SELECT DISTINCT rt FROM GroupCoverPeriod rt " +
"INNER JOIN rt.pensionGroup el " +
"LEFT JOIN rt.insuranceCoverInfos ici "+
"LEFT JOIN rt.insuranceCoverInfoFuneralGrants tth "+
"INNER JOIN benefitChunks e ON e.insuranceCoverInfoId = tt " +
"OR e.insuranceCoverInfoFGId = tth " +
"WHERE el.id = ?1 " +
"AND rt.startDate <= ?2 " +
"AND (rt.endDate IS NULL OR rt.endDate >= ?2) " +
"AND UPPER(el.benefitsId) = UPPER(?3)")
List<GroupCoverPeriod> findByActivePeriodAndInsuranceCoverInfo(long groupId,
LocalDate periodStartDate,
String benefitsId);
Подробности сущностей следующие