-
OID查询
OID检索:hibernate根据对象的OID(主键)进行检索
使用get方法:session.get
使用load方法:session.load -
对象导航检索
对象导航检索:hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式 -
HQL查询
HQL查询:Hibernate Query Language,Hibernate的查询语言,是一种面向对象的方式的查询语言,语法类似SQL。通过session.createQuery(),用于接收一个HQL进行查询方式。
HQL简单查询:查询的时候注意toString方法在相关联的双方只能写一方,否则会出现死循环,HQL语句中不能使用*号查询(聚合函数不影响)
HQL别名查询
HQL排序查询:默认是升序
HQL条件查询:分为按位置绑定和按名称绑定
HQL投影查询:查询对象的某个或某些属性,封装到对象的查询需要用到构造方法,在类里添加需要查询的构造,注意查询多个属性时因为属性可能不同,所以采用Object数组进行接收。
HQL分页查询:query.setFirstResult();query.setMaxResult();
HQL分组查询
HQL多表查询:
连接查询:
交叉连接:笛卡尔积
内连接:inner join
隐式内连接:select * from A,B where A.id = B.aid;
显示内连接:select * from A inner join B on A.id = B.aid;
外连接:
左外连接:select * from A left outer join B on A.id= B.aid;
右外连接:select * from A right outer join B on A.id = B.aid;
子查询
HQL的多表查询:连接查询分为显示内连接,隐式内连接,迫切内连接;外链接分为左外连接,右外连接和迫切左外连接。 -
QBC检索
QBC查询:Query By Criteria,条件查询。是一种更加面向对象化的查询的方式。
简单查询
排序查询
分页查询
条件查询
统计查询
离线条件查询:DetachedCriteria -
hibernate的抓取策略(hibernate的优化)
什么是延迟加载:lazy(懒加载)。执行到该行代码的时候,不会发送语句去进行查询,在真正使用这个对象的属性的时候才会发送SQL语句进行查询。
延迟加载的分类:类级别的延迟加载和关联级别的延迟加载
抓取策略通常与延迟加载一起使用,优化语句 -
抓取策略概述
通过一个对象抓取到关联对象需要发送SQL语句,SQL语句如何发送,发送成什么样格式通过策略进行配置。 -
上的fetch和lazy
fetch:抓取策略,控制SQL语句格式
选项有select,join,subselect
lazy:延迟加载,控制查询关联对象的时候是否采用延迟
选项有:true false -
上的fetch和lazy
fetch:抓取策略,控制SQL语句格式。选项有select,join
lazy :延迟加载,控制查询关联对象的时候是否采用延迟。选项有proxy(根据另一端的上的lazy值确定),false
hibernate的查询方式以及抓取策略
最新推荐文章于 2023-04-23 19:11:52 发布