使用DetachedCriteria分离查询条件
Service
public List<TbDeviceInfo> findAvlByProIdAndGroupId(Integer projectId, Collection<Integer> groupId, Criterion... c)DetachedCriteria criteria = DetachedCriteria.forClass(TbDeviceInfo.class);for (Criterion criterion : c) {criteria.add(criterion);}List<TbDeviceInfo> results = getHibernateTemplate().findByCriteria(criteria);