Hibernate知识点总结

Hibernate知识点总结
Hibernate知识点总结

第一章

持久化及ORM

Hibernate基本原理

一个开发源代码的对象关系映射框架

对JDBC进行了非常轻量级的对象封装,简化了JDBC 繁琐的编码

将JavaBean对象和数据库的表建立对应关系

搭建项目框架,编写hibernate配置文件,映射文件使用hibernate完成增删改查操作

1、读取并解析配置文件

2、读取并解析映射信息,创建SessionFactory

3、打开Session

4、开始一个事务(增删改操作必须,查询操作可选)

5、数据库操作

6、提交事务(回滚事务)

7、关闭session

实体对象的三种状态

瞬时状态、持久状态、游离状态

Hibernate开发步骤:

1、准备对象

2、设置关系

3、持久化操作

Session绑定线程

第二章

类与类之间的关系

关联、泛化、聚集、聚合

Many-to-one关联

One-to-many关联

双向一对多关联

One-to-many和many-to-one的组合

Many-to-many关联

column="r_emp_id" />

column="r_proj_id" />

数据库中的表分为3种:实体表、关系表、字典表

Cascade和inverse

Casecade:级联,一得一方进行的操作会影响到多的一方,即主控方进行什么操作受控方就进行什么操作

Inverse:反转控制、放弃控制权,即inverse=”false”的一方有维护关系的权利,inverse=”true”的一方放弃维护关系的权利

第三章

HQL的优点:

1、语句简单

2、无需封装

3、独立于数据库

使用HQL的步骤

1、得到session

2、编写HQL语句

3、创建Query对象

4、执行查询并得到返回结果

HQL属性查询

得到的list中存的是Object数组

参数绑定

1、占位符“?“

设置值时,下标从0开始

2、命名参数

:name作为参数

3、封装参数

一、创建查询对象

二、动态设置查询语言(拼接HQL语句)

三、使用setproperties()设定参数

HQL分页查询

setFirstResult((pageNo-1)*pageSize)设置首条记录的位置

setMaxResult(pageSize)设置每页最大显示数

HQL排序查询

HQL 常用聚合函数

count( ):统计函数

max( )和min( ):最大值和最小值函数

avg( )和sum( ):平均值和求和函数

与SQL类似,HQL 通过order by 子句实现对查询结果的排序默认情况下按升序顺序排序

排序策略(asc 升序、desc 降序

HQL分组查询

通过group by 子句实现

并使用having 子句对group by 返回的结果集进行筛选

第四章

如何对Hibernate进行性能优化

1、数据库设计

2、HQL优化

一、避免使用or操作

二、避免使用not

三、避免使用like(可以用标签)

四、避免having子句

五、避免使用distinct

3、数据加载策略

即时加载、延迟加载

关联对象、关联集合、实体对象默认延迟加载

属性默认即时加载

Hibernate的默认配置适合于大多数情况

Get()方法不受延时加载的限制

Load()方法受延迟加载的影响

4、缓存管理

分为一级缓存和二级缓存

一级缓存时hibernate管理的

二级缓存需要手动配置

List和iterate的区别

List()每次只发出一条查询语句,并把查询结果存入session

Iterate()先查询满足条件的id然后去缓存中查询,差异的部分到数据库中查询

联接查询和联接迫切(fetch)查询

普通联接查询返回的list中存的是object数组,object数组中的对象从左往右依次对应迫切查询返回的list中存储的是最左边的对象(边查询边封装)

第五章

Criteria查询

Criteria 查询采用面向对象方式封装查询条件,又称为对象查询

对SQL 语句进行封装

采用对象的方式来组合各种查询条件

由Hibernate 自动产生SQL 查询语句

Criteria由Hibernate Session进行创建

Example查询适用于多条件等值查询

常用限定查询方法

使用Criteria进行查询排序

addOrder(Order.desc(“colum”))

使用Criteria进行查询分页

setFirstResult((pageNo-1)*pageSize)设置首条记录的位置setMaxResult(pageSize)设置每页最大显示数

相关主题
相关文档
最新文档