首页 java三层 hibernate Criterion criteria 多表查询

hibernate Criterion criteria 多表查询

List<Criterion> criterions = new ArrayList<Criterio…

List<Criterion> criterions = new ArrayList<Criterion>();
Criteria criteria = createCriteria(Report.class);

if (user != null) {
criteria.add(Restrictions.eq("user", user));
}

if (StringUtil.isNotEmpty(reportInfo.getReportSchedule()) ) {

criteria.add(Restrictions.eq("reportSchedule", ReportSchedule.convert_value(reportInfo.getReportSchedule())));
}
if (StringUtil.isNotEmpty(reportInfo.getName())) {
criteria.add(Restrictions.like("name","%"+reportInfo.getName()+"%"));
}
if(reportInfo.getDate()!=null){
Date date1 = null;
try {
date1 = DateUtil.getDateByString(reportInfo.getDate()+" 00:00:00");

} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Date date2 = null;
try {
date2 = DateUtil.getDateByString(reportInfo.getDate()+" 23:59:59");
System.out.println(date2);
} catch (ParseException e) {

e.printStackTrace();
}
criteria.add(Restrictions.between("createOn",date1,date2));
}
if(StringUtil.isNotEmpty(reportInfo.getActivityType())){

Criteria criteria1 = criteria.createCriteria("reportDetail");
criteria1.add(Restrictions.eq("activityType", ActivityType.convert_value(reportInfo.getActivityType())));
}
if(StringUtil.isNotEmpty(type)){
if(type.equals("all")){
//所有
}else if(type.equals("finish")){
//已完成
criteria.add(Restrictions.eq("reportSchedule", ReportSchedule.SUCCESS));

}else if(type.equals("unfinish")){
criteria.add(Restrictions.ne("reportSchedule", ReportSchedule.SUCCESS));
}
}
criteria.addOrder(Order.asc("createOn"));
if( page != null) {
int totalCount = ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
page.setTotalCount(totalCount);

criteria.setProjection(null);
criteria.setFirstResult((page.getPageNum() - 1) * page.getNumPerPage()).setMaxResults(page.getNumPerPage());
}

return criteria.list();

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

Hibernate 中对象 set 属性时自动保存入库的问题

Hibernate 中对象 set 属性时自动保存入库的问题

遇到这个问题了 背景 在某个项目中,通过 Heibernate 查出某个对象后,对属性进行了 set 操作,并没有进行 ...
hibernate中@DynamicInsert和@DynamicUpdate

hibernate中@DynamicInsert和@DynamicUpdate

在Hibernate中可以利用@DynamicInsert和@DynamicUpdate生成动态SQL语句,即在插入和修...
redis简单命令

redis简单命令

linux进入redis redis-cli -p 6379 查询 config get requirepass # 对...
“”字符串解析为date报错

“”字符串解析为date报错

  Spring3MVC中Controller层接受前端页面的参数有一种情况: @RequestMapping...
Restrictions 非空验证

Restrictions 非空验证

Hibernate-Restrictions用法 Restrictions or用法   criteria.a...
返回顶部