Hibernate HQL查询中对日期的查询操作总结
2014-03-19 14:22
369 查看
@Override public int getCount(PlanSearchCriteria criteria) throws Exception { StringBuilder hql = new StringBuilder(); hql.append("SELECT COUNT(*) FROM Plan plan "); Map<String,Object> parameters = new HashMap<String,Object>(); hql.append(" WHERE 1 = 1 "); if(StringUtils.isNotEmpty(criteria.getPlanStatus())) { hql.append(" AND plan.planStatus = :planStatus "); parameters.put("planStatus", PlanStatus.valueOf(criteria.getPlanStatus())); } if(StringUtils.isNotEmpty(criteria.getPlanType())) { hql.append(" AND plan.planType = :planType "); parameters.put("planType", PlanType.valueOf(criteria.getPlanType())); } if(StringUtils.isNotEmpty(criteria.getNoticeTime())) { hql.append(" AND to_char(plan.notice.noticeTime,'yyyy-MM-dd') = :noticeTime" ); parameters.put("noticeTime", criteria.getNoticeTime()); } Query query = getSession().createQuery(hql.toString()); return ((Long) setParameter(query,parameters).uniqueResult()) .intValue(); } private Query setParameter(Query query,Map<String,Object> parameters) { if(parameters.get("planStatus") != null) { query.setParameter("planStatus", parameters.get("planStatus")); } if(parameters.get("planType") != null) { query.setParameter("planType", parameters.get("planType")); } if(parameters.get("noticeTime") != null) { query.setParameter("noticeTime", parameters.get("noticeTime")); } return query; }
相关文章推荐
- 应用hibernate中的hql语句对日期的操作总结
- hibernate的hql查询语句总结
- hibernate的hql查询语句总结
- Hibernate插入、查询、删除操作 HQL (转)
- hibernate的HQL查询语言总结
- hibernate 的hql查询语句总结
- hibernate的hql查询语句总结
- Hibernate学习-07:CRUD(增删改查)操作之查询多条/所有记录HQL、QBC、SQL三种方式
- Hibernate查询—利用HQL完成表的查询操作
- 在hibernate中,对数据库的增删改操作以及HQL查询与QBC查询的语句的编写语法
- hibernate的HQL查询语言总结
- HQL: Hibernate查询语言简要总结
- Hibernate HQL插入、查询、删除操作
- hibernate的hql查询语句总结
- Hibernate中使用HQL进行查询操作
- Hibernate HQL复杂查询总结
- SSH项目,hibernate的查询操作出错org.hibernate.hql.ast.QuerySyntaxException
- Hibernate笔记:HQL查询总结(一)——简单属性查询和实体对象查询
- hibernate的hql查询语句总结
- hibernate的hql查询语句总结