Hibernate条件查询(DetachedCriteria)

本文详细介绍了Hibernate中使用DetachedCriteria进行条件查询的方法,包括各种限制条件的设置如等于、大于、小于等操作,并展示了如何利用MatchMode实现不同类型的模糊查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate条件查询(DetachedCriteria)


方法 说明
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限定查



MatchMode类包含的各个静态常量实例

匹配模式
举例

MatchMode.START
Expression.like(“name”,”y”, MatchMode.START)

姓名以y开头

MatchMode.END
Expression.like(“name”,”y”, MatchMode. END)

姓名以y结尾

MatchMode.ANYWHERE
Expression.like(“name”,”y”, MatchMode. ANYWHERE)

姓名中包含y

MatchMode.EXACT
Expression.like(“name”,”y”, MatchMode. EXACT)

精确匹配,姓名必须为y




示例:


view source print?01 DetachedCriteria detachedCrit = DetachedCriteria.forClass(User.class);

02 detachedCrit.addOrder(Order.asc("uname")); //按照姓名排序

03

04 if (user!=null && user.getUname()!=null&& user.getUname().trim().length()>0) //姓名查询条件

05 detachedCrit.add(Restrictions.like("uname", user.getUname().trim(), MatchMode.ANYWHERE));

06 if (user!=null && user.getUloginId()!=null && user.getUloginId().trim().length()>0) //身份证号查询条件

07 detachedCrit.add(Restrictions.like("uloginId", user.getUloginId().trim(), MatchMode.ANYWHERE));

08 if(user!=null && user.getType()!=null && user.getType()!=0) {

09 detachedCrit.add(Restrictions.eq("type", user.getType()));

10 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值