次のことを前提としています。
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 ...
これを行うエレガントな方法はありますか。前もって感謝します。