I have two objects, for example Business and Area.
Corresponding properties:
Business - area, area2, area code
- areaId, areaName
region and region2 business cards to the identifier in the region
I am trying to write Hibernate criteria that return all areas with enterprises only.
SQL looks like this: FROM region LEFT OUTER JOIN business b on a.areaId = b.area or a.areaId = b.area2 WHERE b.code! = Null GROUP BY a.areaName
This is what I have:
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));
But this does not work, I get a "no association: areaId" request exception.
Any ideas why this is happening? Thank.
source
share