方法
|
说明
|
Restrictions.eq
|
=
|
Restrictions.allEq
|
利用
Map
来进行多个等于的限制
|
Restrictions.gt
|
>
|
Restrictions.ge
|
>=
|
Restrictions.lt
|
<
|
Restrictions.le
|
<=
|
Restrictions.between
|
BETWEEN
|
Restrictions.like
|
LIKE
|
Restrictions.in
|
in
|
Restrictions.and
|
and
|
Restrictions.or
|
or
|
Restrictions.sqlRestriction
|
用
SQL
限定查询
|
Criteria query = HibernateUtil.getSession().createCriteria(Entity.class);
if (Id > 0)
{
query.add(Restrictions.eq(id, Entity.getId()));
}
if (title != null )
{
query.add(Restrictions.like(TITLE, Entity.getTitle(), MatchMode.ANYWHERE));
}
if (Entity.getStatus() > -1)
query.add(Restrictions.in(STATUS, ArrayUtils.toObject(new int[] { 0, 1 })));
}
if (Entity.getEndTime() > 0 && Entity.getStartTime() > 0)
{
query.add(Restrictions.or(
Restrictions.between(START_TIME, Entity.getStartTime(),
Entity.getEndTime()),
Restrictions.between(END_TIME, Entity.getStartTime(), Entity.getEndTime())));
// query.add(Restrictions.ge(START_TIME, Entity.getStartTime()));
// query.add(Restrictions.le(END_TIME, Entity.getEndTime()));
}
query.addOrder(Order.asc(START_TIME));
query.add(Restrictions.sqlRestriction("{alias}.id in (select id from user where manager_id = "+managerId+")"));
return query.list();
备注:
hibernate的查询,其中学到构建Criteria查询,在Criteria查询中