Hibernate第六章知识点总结——第六章--高级查询

本文总结了Hibernate第六章的高级查询知识点,包括Criteria查询表达式和HQL的使用。Criteria查询通过面向对象的方式封装查询条件,支持分页、排序、复合查询和分组统计。HQL提供了丰富的查询能力,允许进行实体更新和删除,以及分组和排序操作。文章还探讨了参数绑定的安全性和性能优化,并介绍了联合查询、子查询和SQL查询的使用。
摘要由CSDN通过智能技术生成

Hibernate第六章知识点总结——第六章--高级查询

 

关联映射回顾

 

事务管理概述

ACID/三种问题/四种隔离级别

Hibernate事务API

JDBC实现/JTA实现

锁机制

悲观锁/乐观锁

 

目标

 

熟练应用CriteriaQuery

掌握Criteria查询表达式

熟练应用HQL进行各种查询

掌握分页查询方式及机制

 

知识点预览

 

CriteriaQuery

Criteria查询表达式

HQL

分页查询方式

 

Criteria

 

1.       Criteria

a)         Criteria面向对象化查询接口,将数据查询条件封装为一个对象,可以把它看成传统SQL的对象化表示

 

 

 

 

 

Criteria查询表达式

 

1.       Criteria表达式

a)         Criteria本身只是个查询容器,具体的查询条件需要通过Cretiria.add方法添加到Criteria实例中。

b)        Expression具体描述查询条件,针对SQL语法,Expression提供了对应的查询限定机制。

 

2.       查询限定机制

 

 

 

 

 

a)         Expression各方法属性名参数,为POJO中所对应的实际库表字段属性名(

大小写敏感),而非库表中实际字段名。

 

3.       Criteria 查询示例

a)         查询年龄大于18的用户:

Criteria c=session.createCriteria(User.class);

c.add(Expression.gt(“userAge”,18));

b)        查询年龄大于20小于30的用户:

Criteria c=session.createCriteria(User.class);

c.add(Expression.between(“userAge”,new Integer(20),new Integer(30)));

c)         或者:

c.add(Expression.gt(“userAge”,new Integer(20)));

c.add(Expression.lt(“userAge”,new Integer(30)));

 

4.       Criteria 复合查询

 

UserAddress属于一对多的关联关系,根据地址条件查询用户:

Criteria c=session.cr

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值