51,407
社区成员
发帖
与我相关
我的任务
分享package dao;
import java.util.List;
import java.util.Set;
import org.hibernate.Criteria;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import Util.HibernateUtil;
import pojo.Dept;
import pojo.Emp;
public class DeptDao{
/*
* 查找部门,通过员工人数
*/
public void findDeptByEmpCounts(){
Criteria criteria = HibernateUtil.getSession().createCriteria(Dept.class,"d")
.createCriteria("d.emps","e").add(Restrictions.sizeGe("e", 6));//创建连接
//criteria.add(Restrictions.sizeGe("d.emps", 6));//dept 中EMP数量大于6 的dept
List<Dept> depts = criteria.list();
for(Dept dept:depts){
System.out.println("============================================================");
System.out.println("部门名称======》"+dept.getDname());
Set<Emp> emps = dept.getEmps();
for(Emp emp:emps){
System.out.println("员工姓名=======》"+emp.getEname());
}
System.out.println("============================================================");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Transaction transaction = HibernateUtil.getSession().beginTransaction();
DeptDao d = new DeptDao();
d.findDeptByEmpCounts();
}
}
Exception in thread "main" org.hibernate.MappingException: Unknown collection role: pojo.Emp.e
at org.hibernate.impl.SessionFactoryImpl.getCollectionPersister(SessionFactoryImpl.java:636)
at org.hibernate.criterion.SizeExpression.toSqlString(SizeExpression.java:60)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition(CriteriaQueryTranslator.java:357)
at org.hibernate.loader.criteria.CriteriaJoinWalker.<init>(CriteriaJoinWalker.java:113)
at org.hibernate.loader.criteria.CriteriaJoinWalker.<init>(CriteriaJoinWalker.java:82)
at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:91)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1578)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at org.hibernate.impl.CriteriaImpl$Subcriteria.list(CriteriaImpl.java:481)
at dao.DeptDao.findDeptByEmpCounts(DeptDao.java:27)
at dao.DeptDao.main(DeptDao.java:43)