这段代码是项目中的一个方法使用DetachedCriteria构建动态查询
public List searchInfo(final Page page, final AccountView accountView) {
DetachedCriteria dct = DetachedCriteria.forClass(AccountView.class);
if(accountView != null){
if(accountView.getAccountName() != null && !"".equals(accountView.getAccountName().trim())){
dct.add(Restrictions.like("accountName", accountView.getAccountName(),MatchMode.ANYWHERE));
}
if(accountView.getNameCN() != null && !"".equals(accountView.getNameCN().trim())){
dct.add(Restrictions.like("nameCN", accountView.getNameCN(),MatchMode.ANYWHERE));
}
if(accountView.getDepartmentId() != null && accountView.getDepartmentId()>0){
dct.add(Restrictions.eq("departmentId", accountView.getDepartmentId()));
dct.add(Restrictions.eq("companyId", accountView.getCompanyId()));
}else if(accountView.getCompanyId() != null && accountView.getCompanyId().intValue()>0){
dct.add(Restrictions.eq("companyId", accountView.getCompanyId()));
}
if(accountView.getEmail() != null && !"".equals(accountView.getEmail().trim())){
dct.add(Restrictions.like("email", accountView.getEmail(),MatchMode.ANYWHERE));
}
if(accountView.getUserPosition() != null && !"".equals(accountView.getUserPosition().trim())){
dct.add(Restrictions.like("userPosition", accountView.getUserPosition(),MatchMode.ANYWHERE));
}
}
if(page == null){
return super.findByCriteria(dct);
}else{
return super.findByCriteria(dct, page);
}
}
分享到:
相关推荐
DetachedCriteria的查询方式汇总
DetachedCriteria
DetachedCriteria使用介绍
NULL 博文链接:https://chaoyi.iteye.com/blog/2152094
Hibernate - DetachedCriteria 的完整用法文档描述
DetachedCriteria Criteria 使用方法 非常详细外加练习
下面小编就为大家带来一篇浅谈DetachedCriteria和Criteria的使用方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
NULL 博文链接:https://rmn190.iteye.com/blog/379302
源文件 博文链接:https://kings008.iteye.com/blog/246773
Spring 的框架提供了 getHibernateTemplate().findByCriteria(detachedCriteria) 方法可以很方便地根据 DetachedCriteria 来返回查询结果。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置...
().findByCriteria(detachedCriteria) 方法可以很方便地根据DetachedCriteria 来返回查询结 果。 DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行DetachedCriteria 实例的创建。
使用 Hibernate Criteria && DetachedCriteria Queries演示Exists Clause非常简单的项目 安装 git clone https://github.com/RameshRM/hibernate-sample.git 跑步 mvn install 这是一个maven项目,依赖项是 ...