비즈니스 및 영역이라는 두 개의 엔터티가 있습니다.최대 절전 기준 두 테이블에 합류했습니다.
관련 속성 :
사업 - 지역, AREA2, 코드
지역 - areaId, 나는이 최대 절전 모드를 쓰기 위해 노력하고있어
지역의 ID에
영역과 비즈니스지도의 AREA2를 AREANAME 비즈니스와 관련된 모든 영역을 반환하는 기준.
SQL은 다음과 같습니다 영역에서 왼쪽 외부 a.areaId = b.area 또는 a.areaId = b.area2 WHERE a.areaName
BY b.code = null이 GROUP 에 비즈니스 나 가입하세요! 내가 얻을DetachedCriteria criteria = DetachedCriteria.forClass(Business.class)
.setProjection(Property.forName("area"))
.setProjection(Property.forName("area2"))
.add(Restrictions.ne("code", null));
Criteria criteriaArea = fullTextSession.createCriteria(Area.class)
.createAlias("areaId", "areaId", CriteriaSpecification.LEFT_JOIN)
.add(Property.forName("areaId").in(criteria));
을하지만이 작동하지 않습니다
이 내가 가진 무엇 "이 아니라 협회 : areaId"쿼리 예외.
왜 이런 생각입니까? 감사.
작은 팁 : Restrictions.isNotNull ("코드")를 사용합니다. 일부 데이터베이스에서 "<> null"은 "is not null"과 다릅니다. –
관계를 엔터티 정의에 넣었습니까? (xml 또는 annotations) – Reddy