DetachedCriteria detachedCriteria = DetachedCriteria.forClass(View.class);
detachedCriteria.createAlias("city","c");
detachedCriteria.add(Restrictions.eq("c.province.id", 1));
List<View> list = manager.findRowsByCriteria(detachedCriteria, 0, 10);
System.out.println(list.get(0).getName());
int count = manager.findCountByCriteria(detachedCriteria);
System.out.println(count);
----
取得一个count(*)时,需要加上"映射": detachedCriteria.setProjection(Projections.rowCount());
----
detachedCriteria只能得到一个list,需要得到单个对象时,需要list.get(0);
______________________
@SuppressWarnings("unchecked")
public Map<String , Object> getResumesInBox( Map<String, Object> conditionMap) {
//实例化detachedCriteria(离线)对象
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(ResumesInBox.class);
// detachedCriteria.setFetchMode("entInfo", FetchMode.JOIN);//设置外键抓取提高速度
//创建条件
detachedCriteria.add(Restrictions.eq("entInfo.id", conditionMap.get("entId")));
//创建一个对象的别名
detachedCriteria.createAlias("resume", "r");
if(!conditionMap.get("roleId").toString().equals("null") || conditionMap.get("roleId").toString() == null) {
detachedCriteria.add(Restrictions.eq("r.categoryRole.id", Long.parseLong(conditionMap.get("roleId").toString())));
}
detachedCriteria.add(Restrictions.eq("resumeStateOfEnt.id", Long.valueOf(conditionMap.get("resumeStateId").toString())));
if(StringUtils.isNotBlank(conditionMap.get("entJobId").toString())) {
detachedCriteria.add(Restrictions.eq("entJob.id", Long.valueOf(conditionMap.get("entJobId").toString())));
}
if(conditionMap.get("sort").equals("1")) {
//排序
detachedCriteria.addOrder(Order.desc("deliDate"));
}
detachedCriteria.add(Restrictions.not(Restrictions.eq("telentedResumes.id", 2L)));
if(Long.valueOf(conditionMap.get("resumeStateId").toString()) < 10L) {
detachedCriteria.add(Restrictions.not(Restrictions.eq("telentedResumes.id", 3L)));
}
Map<String, Object> map = this.findPageByCriteria(detachedCriteria, 10, Integer.parseInt(conditionMap.get("pager.offset").toString()));
return map;
}