【发布时间】:2018-01-21 14:06:12
【问题描述】:
我正在学习休眠条件查询。我想使用休眠条件查询进行搜索。 以下是我的搜索字段
搜索字段
这是我的搜索代码
Criteria criteria = session.createCriteria(User.class);
criteria.add(
Restrictions.and(
Restrictions.ilike("firstName", firstName),
Restrictions.ilike("lastName", lastName)
)
);
我面临的问题是仅使用名字进行搜索时,它将把姓氏作为空字符串,并且由于名字和姓氏之间的“AND”条件。它没有得到任何匹配的结果。现在我想添加条件,以便如果任何搜索字段为空或 null 则它不会包含在查询中。 基本上我在 grails 中工作,所以在 grails 中可以这样实现
def userList = userCriteria.list{
and{
if(firstName) {
like('firstName',firstName)
}
if(lastName) {
like('lastName',lastName)
}
}
}
我想对休眠条件查询做同样的事情。
【问题讨论】: