hibernate 核心类讲解2(第二天)

本文详细介绍了Hibernate中Query接口和Criteria接口的使用方法,包括如何通过Query接口进行复杂的查询操作,以及Criteria接口提供的面向对象查询方式。通过示例代码展示了这两种查询方式的特点及应用场景。

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

下面继续讲hibernate的核心类(接口)。

Query接口:

前面提到session的两个查询方法都是用主键进行查找的,如果我们想通过用户名或者邮箱等数据进行查找则需要更强大的Query接口。

操作语句:

Query query = (Query) session.createQuery("from Employee where id = 1"); 

 这里注意,中间的查询语句Employee大写因为这里用的不是表而是pojo对象,后面的条件id可以指定是字段名或者是对象属性名(当然最好用属性名),然后通过list方法获取结果,list会自动将结果封装成一个pojo对象。

Critera接口:

这个接口也能够实现面向对象的查询功能,但不是官方推荐的(Query用的多)。

这是一个面向对象的查询接口,体现在查询条件的设置完全用的是方法,如下:

Criteria cr = session.createCriteria(Employee.class).setMaxResults(2).addOrder(Order.desc("id"));
List<Employee> list = cr.list();

有点类似JQuery的链式编程,查询条件都放在方法里面。当然这个方法用的很少,官方也不推荐,主要还是用Query.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值