1、参考 https://blog.youkuaiyun.com/cuiran/article/details/6324083
2、多个or 查询,使用 Disjunction dis = Restrictions.disjunction();
dis.add(Restrictions.like("username", "", MatchMode.START));
例子:查询用户名前缀姓李,姓林、姓莫的用户列表 ,代码如下:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class);
List<String> accessList = new ArrayList<String>();
accessList.add("林");
accessList.add("李");
accessList.add("莫");
if(accessList!=null)
{
int size = accessList.size();
Disjunction dis = Restrictions.disjunction();
for(int i =0;i<size; i++ )
{
dis.add(Restrictions.like("UserName", accessList.get(i), MatchMode.START));
}
detachedCriteria.add(dis);
}