предполагая следующее:
public class Enterprise
{
private int id;
private String name;
}
public class Site
{
private int id;
private String name;
private Enterprise enterprise; //@ManyToOne relation
}
public class Area
{
private int id;
private String name;
private Site site; //@ManyToOne relation
}
Я хотел бы выполнить запрос, используя результат группировки критериев гибернации по предприятию.
Criteria criteria = session.createCriteria(Area.class);
criteria.setProjection(Projections.projectionList()
.add(Property.forName("id").as("id"))
.add(Property.forName("name").as("name"))
.add(Projections.groupProperty("site.enterprise")))
.setResultTransformer(Transformers.aliasToBean(Area.class));
/*
* more conditions
*/
List<Area> areas = criteria.list();
При выполнении этого спящего режима возвращается исключение: org.hibernate.QueryException: не удалось разрешить свойство: site.enterprise...
Есть ли какой-нибудь элегантный способ, как это сделать. Заранее спасибо.