この質問は、HibernateCriteria
を使用してgroup by
.
ここに私のSQLがあります:
SELECT s.name, max(p.price), min(p.price)
FROM supplier s, product p
WHERE s.supplier_id = p.supplier_id
GROUP BY s.name
私は次のことを試しました:
Criteria criteria = session.createCriteria(Supplier.class);
Criteria prodCrit = criteria.createCriteria("products");
ProjectionList projList = Projections.projectionList();
projList.add(Projections.max("price"));
projList.add(Projections.min("price"));
projList.add(Projections.groupProperty("name"));
prodCrit.setProjection(projList);
List list = criteria.list();
しかし、次のエラーが表示されます。
Exception in thread "main" org.hibernate.QueryException: could not resolve property: price of: com.gtc.hibernate.query.Supplier