У меня есть следующий HQL
запрос:Выравнивание по левому краю выборки с условием не удается
return entityManager().createQuery(
"SELECT page FROM ProjectPage page"
+ " left join fetch page.categorySet as category "
+ " where page.id = :id "
+ " and category.parentCategory is null "
+ " and (category.status != :status_val) "
,ProjectPage.class).setParameter("id", id)
.setParameter("status_val", 1).getSingleResult();
проблема заключается в том, что условия в которых положение не удается, например, запрос возвращает категории объектов, состояние 1 и категории объектов чья родительская категория не является нулевой, хотя я указал это ограничение, как указано выше!
Можете ли вы предоставить нам пример скрипта SQL? (http://sqlfiddle.com) – Smutje
@Smutje это не SQL. Это HQL (Hibernate Query Language). –
Если вы оставили внешнее соединение, не выполняйте условия внешней таблицы в предложении WHERE, переместите их в предложение ON. (Если в предложении WHERE это больше не ВЗАИМОДЕЙШИЙ ПРИСОЕДИНЯЙТЕ, просто обычный JOIN.) – jarlh