나는 다음과 같은 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, 카테고리 객체입니다 카테고리의 객체를 반환한다는 것입니다 위에 정의 된대로이 제약 조건을 지정했지만 parentCategory가 null이 아닙니다!
SQL 바이올린 예제를 제공해 주시겠습니까? (http://sqlfiddle.com) – Smutje
@Smutje SQL이 아닙니다. 그것은 HQL (Hibernate Query Language)입니다. –
외부 조인을 그대로두면 WHERE 절의 외부 테이블에 조건이 없으므로 대신 ON 절로 이동하십시오. WHERE 절에서 더 이상 OUTER JOIN이 아닌 일반 JOIN이됩니다. – jarlh