Hibernate学习笔记:Criteria条件查询

除了Query, hibernate还提供了另外一种查询方式,Criteria, 先看一个例子,这个例子就是查询书名以"ww"开头的书

通常情况下,criteria可以同时add很多条件,比如:

就是书名包含ww, 价格在10~20之间, 作者不为空的书
如果你仔细看,你会发现,criteria.add()添加的是Criterion,那么Restrictions是什么呢?是Criterion工厂.Restrictions提供了很多方法足以满足条件查询, 而且含义一看就明白了.
除了可以添加查询条件,还可以添加排序,

以id逆序排列.
Criteria还可以用来做分页.这个和Query一样.

则返回11~15条记录.
为什么要使用Criteria,不是有Query么? 而且Query支持占位符, 命名参数,可以解决所有的条件问题.  经过思考,我觉得是这样的,HQL虽然可以带条件,占位符, 命名参数,但是归根结底这个SQL被写死了,就是说如果HQL中有3个参数,则这3个参数一个也不能少,都必须设置.但是Criteria就不一样了,比如Book, 只有用户选择了价格区间,才把.add(Restrictions.between("price", 10F, 20F))加进来,只有当用户选择了排序,才把.addOrder(Order.desc("id")),这样就实现了动态的拼sql.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值