hibernate 学习笔记四

高级查询
------------
Hibernate中的检索方式
1、导航对象图检索(通过已获取到的对象,来检索其相关联的对象,如:获取到customer后,通过customer.getOrders()获取Order对象)
2、OID检索(明确知道对象的OID时,借助get(),load()进行检索)
3、HQL检索(用QUERY操作HQL进行检索)
步骤:
a、创建Query对象,session.createQuery(hql)
b、动态绑定参数(位置标识法,名字标识法)
c、获取数据(list(),iterate(),uniqueResult())
4、 QBC检索
通过QBC(Query By Criteria)API进行检索
擅长动态查询
步骤:
a、创建Criteria对象,session.createCriteria()
b、设置查询条件、绑定参数(criteria.Expression())
c、load()、uniqueResult()获取数据
QBE检索(Query By Example)
5、本地SQL检索
String sql = "select id,name,age from hedong_student where name = ?";
SQLQuery query = session.createSQLQuery(sql);
query.addScalar("id",Hibernate.INTEGER);
query.addScalar("name",Hibernate.STRING);
query.addScalar("age",Hibernate.INTEGER);
query.setString(0,"briup1")

多态查询
查询本类,连同子类一起查出

投影查询
查询类对象的部分属性信息
select id,name,from Student;
...
while(...){
(Object)it.next();
}
注意:在遍历集合、转换类型时,应该强转为Object[]

集合过滤
session.createFilter()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值