Я использую jinq версии 1.8.11 с hibernate версии 4.3. Использую фабрику сессий hibernate, а не менеджер сущностей.
Я пытаюсь выполнить следующий запрос:
JPAJinqStream<Routine> routineStream = stream.streamAll(getCurrentSession(), Routine.class);
if (text.isPresent()) {
final String searchText = text.get();
routineStream = routineStream
.leftOuterJoin(
(r, source) -> source.stream(NLSProperty.class),
(r, nls) -> nls.getVarKey().equals("routine.100.title")
).select(pair -> pair.getOne());"%" + searchText + "%")).select(Pair::getOne);
}
List<Routine> tp = routineStream.toList();
КогдаПеременный текст отсутствует, запрос работает и я получаю результаты.Когда присутствует переменная text, я получаю следующую ошибку:
java.lang.IllegalStateException: DOT node with no left-hand-side!
есть идеи, что я делаю не так?
У меня отладка jinq и генерируемый им запрос выглядит так:
SELECT A FROM de.etherapists.ehealth.model.routine.Routine A LEFT OUTER JOIN de.etherapists.ehealth.model.NLSProperty B ON B.varKey = 'routine.100.title';
Спасибо