Hibernate 查询
1、or 查询
//两个条件 criteria.add(Restrictions.or(Restrictions.ilike("name", keyword, MatchMode.ANYWHERE), Restrictions.ilike("phone", keyword, MatchMode.ANYWHERE))); //多个or条件 criteria.add(Restrictions.disjunction() .add(Restrictions.ilike("name", keyword, MatchMode.ANYWHERE)) .add(Restrictions.ilike("phone", keyword, MatchMode.ANYWHERE)));
2、统计查询
criteria.createAlias("member", "member", CriteriaSpecification.INNER_JOIN);
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("member.id").as("id"));
projectionList.add(Projections.property("member.loginName").as("loginName"));
projectionList.add(Projections.property("name"));
projectionList.add(Projections.property("phone"));
projectionList.add(Projections.sum("money"));
projectionList.add(Projections.sum("remainMoney"));
//sqlProjection的使用
projectionList.add(Projections.sqlProjection("sum(case end_time < '"+dateTime+"' when 1 then remain_money else 0 end) as expired_money", new String[]{"expired_money"}, new Type[]{ new DoubleType()}));
projectionList.add(Projections.property("redEnvelope.id"));
projectionList.add(Projections.groupProperty("member.loginName"));
criteria.setProjection(projectionList);

浙公网安备 33010602011771号