У меня есть две сущности, скажем, Business и Area.
Соответствующие свойства:Бизнес - зона, зона2, кодArea - areaId, areaName
area и area2 бизнес-карты с идентификатором в Area
Я пытаюсь написать критерий гибернации, который возвращает все области только для предприятий.
SQL выглядит следующим образом: ИЗ области a ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ бизнес b на a.areaId = b.area или a.areaId = b.area2 ГДЕ b.code! = Null GROUP BY a.areaName
Эточто у меня есть:
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));
Но это не работает, я получаю исключение запроса "not association: areaId".
Любые идеи, почему это происходит?Спасибо.