001---Hibernate简介(开源O/R映射框架) 1
002---第一个Hibernate示例 4
003---hibernate主要接口介绍 9
004---持久对象的生命周期介绍 10
005---query接口初步 16
006开源O/R映射框架内容回顾 18
007---Hibernate基本映射标签和属性介绍 19
一、映射文件的基本结构举例: 19
二、<hibernate-mapping>标签: 19
三、<class>标签 20
四、<id>标签 22
(一)、<generator>元素(主键生成策略) 23
五、<property>标签 24
六、完整实例: 25
008多对一 关联映射 --- many-to-one 29
对象模型图: 29
关系模型: 29
关联映射的本质: 29
User实体类: 29
Group实体类: 30
Group实体类的映射文件: 30
User实体类的映射文件: 31
※<many-to-one>标签※: 31
多对一 存储(先存储group(对象持久化状态后,再保存user)): 31
重要属性-cascade(级联): 32
多对一 加载数据 32
009一对一 主键关联映射_单向(one-to-one) 33
对象模型(主键关联映射-单向): 33
IdCard实体类: 33
Person实体类: 33
关系模型: 34
IdCard实体类的映射文件: 34
Persion实体类的映射文件: 34
导出至数据库表生成代码如下: 35
※<one-to-one>标签※ 35
一对一 主键关联映射 存储测试 35
一对一 主键关联映射 加载测试 36
一对一 主键关联映射 总结: 36
010一对一 主键关联映射_双向(one-to-one) 37
对象模型(主键关联映射-双向): 37
IdCard实体类: 37
Person实体类: 37
关系模型: 38
IdCard实体类映射文件: 38
Person实体类映射文件不变: 38
导出至数据库表生成SQL语句: 39
一对一 主键关联映射加载数据测试—双向: 39
加载数据时,输出SQL语句: 39
总结: 39
需要在idcard映射文件中加入<one-to-one>标签指向hibernate,指示hibernate如何加载person(默认根据主键加载。) 39
011一对一 唯一外键关联映射_单向(one-to-one) 40
对象模型(主键关联映射-单向): 40
关系模型: 40
对象模型实体类与一对一主键关联实体类相同,没有变化。 40
IdCard实体映射文件与主键关联映射文件相同: 40
Person实体类映射文件: 40
导出至数据库生成表SQL语句如下: 41
一对一 唯一外键 关联映射存储测试: 41
总结: 42
012一对一 唯一外键关联映射_双向(one-to-one) 42
对象模型(唯一外键关联映射-双向): 42
关系模型 42
IdCard实体类: 42
Person实体类: 43
Person实体类映射文件: 43
IdCard实体类映射文件: 44
总结: 44
013 session_flush 45
Session.flush功能: 45
Session在什么情况下执行flush: 45
数据库的隔离级别:并发性作用。 46
Mysql查看数据库隔离级别: 46
Mysql数据库修改隔离级别: 46
Session.evict(user)方法: 46
解决在逐出session缓存中的对象不抛出异常的方法: 47
014 一对多关联映射 单向(one-to-many) 48
对象模型: 48
关系模型: 48
多对一、一对多的区别: 48
Classes实体类: 48
Students实体类: 49
Student映射文件: 49
Classes映射文件: 49
导出至数据库(hbmddl)生成的SQL语句: 50
数据库表结构如下: 50
一对多 单向存储实例: 50
生成的SQL语句: 51
一对多,在一的一端维护关系的缺点: 51
一对多 单向数据加载: 51
加载生成SQL语句: 51
015 一对多关联映射 双向(one-to-many) 52
学生映射文件修改后的: 52
一对多 数据保存,从多的一端进行保存: 52
生成SQL语句: 52
关于inverse属性: 53
Inverse和cascade区别: 53
一对多双向关联映射总结: 53
016 多对多关联映射 单向(many-to-many) 54
实例场景: 54
对象模型: 54
关系模型: 54
Role实体类: 54
User实体类: 55
Role映射文件: 55
User映射文件: 55
导出至数据库表所生成SQL语句 56
数据库表及结构: 56
多对多关联映射 单向数据存储: 57
发出SQL语句: 58
多对多关联映射 单向数据加载: 58
017 多对多关联映射 双向(many-to-many) 58
018 关联映射文件中<class>标签中的lazy(懒加载)属性 60
Lazy(懒加载): 60
Hibernate中的lazy(懒加载): 60
Hibernate中lazy(懒加载)的实现: 60
Lazy(懒加载)在hibernate何处使用: 60
Hibernate的lazy生效期: 60
<class>标签上,可以取值:true/false,(默认值为:true): 60
019 关联映射文件中集合标签中的lazy(懒加载)属性 61
020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性 64
021 继承关联映射 65
继承关联映射的分类: 65
对象模型: 65
021-1单表继承: 65
Animal实体类: 65
Pig实体类: 66
Bird实体类: 66
数据库中表结构: 67
单表继承数据存储: 67
单表继承映射数据加载(指定加载子类): 67
单表继承映射数据加载(指定加载父类): 68
单表继承映射数据加载(指定加载父类,看能否鉴别真实对象): 68
多态查询: 69
采用load,通过Animal查询,将<class>标签上的lazy设置为false 69
采用get,通过Animal查询,可以判断出正直的类型 69
采用HQL查询,HQL是否支持多态查询 70
通过HQL查询表中所有的实体对象 70
021-2具体表继承: 70
关系模型: 71
映射文件(每个类映射成一个表): 71
导出输出SQL语句: 71
021-3类表继承 72
关系模型: 73
映射文件: 73
导出输出SQL语句: 73
数据库表结构如下: 74
021-4三种继承关联映射的区别: 74
022 component(组件)关联映射 75
Component关联映射: 75
User实体类: 75
Contact值对象: 76
User映射文件(组件映射): 77
导出数据库输出SQL语句: 77
数据表结构: 77
组件映射数据保存: 78
什么是实体类: 78
023 复合主键 关联映射 78
复合主键类: 80
实体类:(中引用了复合主键类) 80
导出数据库输出SQL语句: 81
复合主键关联映射数据存储: 81
数据的加载: 82
024 其它 关联映射 82
实例类 82
Hibernate对集合的存储关系: 83
集合关联映射文件实例: 83
导出至数据库输出SQL语句: 85
数据库表结构: 87
集合映射数据存储: 88
执行输出SQL语句: 89
025 hibernate悲观锁、乐观锁 90
025-1悲观锁: 90
悲观锁的实现 90
悲观锁的适用场景: 90
实例: 90
实体类: 91
映射文件: 91
悲观锁的使用 91
025-2乐观锁: 92
实体类: 92
映射文件 93
026 hibernate操作树形结构 94
节点实体类: 94
节点映射文件: 95
测试代码: 95
相应的类代码: 96
027 hibernate查询语言(HQL) 99
027-1 HQL简单例子 99
027-2 HQL演示环境 100
Classes实体类: 100
Student实体类: 100
Classes实体类的映射文件: 101
Student实体类映射文件: 101
初始化演示需要的数据: 101
027-3 简单属性的查询 103
01 单一属性查询 103
02 多个属性查询 104
03 查询一个或多个属性,要求返回实体对象 104
04 使用别名查询 104
027-4实体对象查询 105
01 简单的实体对象查询 105
02 实体对象使用别名查询 105
03使用select查询实体对象 105
04 HQL不支持select * from …… 105
05 query.iterate查询数据 105
06 query.list()和query.iterate()的区别 106
07 两次query.list() 106
027-5条件查询 107
01 条件查询 拼字符串 107
02 条件查询 点位符方式 107
03 Hibernate支持方法链 107
04 条件查询 参数名传递方式 108
05 条件查询 包含条件in 108
027-6 hibernate使用SQL中函数 109
027-7 hibernate支持原生SQL查询 109
027-8 外置命名查询 109
027-9 查询过滤器 110
1、定义过滤器参数 110
3、 定义过滤器在什么地方使用 110
3、使用过滤器(启用) 110
使用环境: 111
027-10 分页查询 111
027-11 对象导航查询 111
027-12 连接查询 112
1、内连接查询 112
2、左连接查询 112
3、右连接查询 112
027-13 统计查询 112
027-14 分组查询 113
027-15 dml风格查询 113
028 hibernate缓存(性能优化策略) 114
028--01 hibernate一级缓存 114
028--02 hibernate二级缓存 115
二级缓存的配置和使用: 115
二级缓存的开启: 115
指定二级缓存产品提供商: 115
指定哪些实体类使用二级缓存: 116
应用范围 118
二级缓存的管理: 118
二级缓存的交互 119
028--03 hibernate查询缓存 120
029 hibernate抓取策略 121
002---第一个Hibernate示例 4
003---hibernate主要接口介绍 9
004---持久对象的生命周期介绍 10
005---query接口初步 16
006开源O/R映射框架内容回顾 18
007---Hibernate基本映射标签和属性介绍 19
一、映射文件的基本结构举例: 19
二、<hibernate-mapping>标签: 19
三、<class>标签 20
四、<id>标签 22
(一)、<generator>元素(主键生成策略) 23
五、<property>标签 24
六、完整实例: 25
008多对一 关联映射 --- many-to-one 29
对象模型图: 29
关系模型: 29
关联映射的本质: 29
User实体类: 29
Group实体类: 30
Group实体类的映射文件: 30
User实体类的映射文件: 31
※<many-to-one>标签※: 31
多对一 存储(先存储group(对象持久化状态后,再保存user)): 31
重要属性-cascade(级联): 32
多对一 加载数据 32
009一对一 主键关联映射_单向(one-to-one) 33
对象模型(主键关联映射-单向): 33
IdCard实体类: 33
Person实体类: 33
关系模型: 34
IdCard实体类的映射文件: 34
Persion实体类的映射文件: 34
导出至数据库表生成代码如下: 35
※<one-to-one>标签※ 35
一对一 主键关联映射 存储测试 35
一对一 主键关联映射 加载测试 36
一对一 主键关联映射 总结: 36
010一对一 主键关联映射_双向(one-to-one) 37
对象模型(主键关联映射-双向): 37
IdCard实体类: 37
Person实体类: 37
关系模型: 38
IdCard实体类映射文件: 38
Person实体类映射文件不变: 38
导出至数据库表生成SQL语句: 39
一对一 主键关联映射加载数据测试—双向: 39
加载数据时,输出SQL语句: 39
总结: 39
需要在idcard映射文件中加入<one-to-one>标签指向hibernate,指示hibernate如何加载person(默认根据主键加载。) 39
011一对一 唯一外键关联映射_单向(one-to-one) 40
对象模型(主键关联映射-单向): 40
关系模型: 40
对象模型实体类与一对一主键关联实体类相同,没有变化。 40
IdCard实体映射文件与主键关联映射文件相同: 40
Person实体类映射文件: 40
导出至数据库生成表SQL语句如下: 41
一对一 唯一外键 关联映射存储测试: 41
总结: 42
012一对一 唯一外键关联映射_双向(one-to-one) 42
对象模型(唯一外键关联映射-双向): 42
关系模型 42
IdCard实体类: 42
Person实体类: 43
Person实体类映射文件: 43
IdCard实体类映射文件: 44
总结: 44
013 session_flush 45
Session.flush功能: 45
Session在什么情况下执行flush: 45
数据库的隔离级别:并发性作用。 46
Mysql查看数据库隔离级别: 46
Mysql数据库修改隔离级别: 46
Session.evict(user)方法: 46
解决在逐出session缓存中的对象不抛出异常的方法: 47
014 一对多关联映射 单向(one-to-many) 48
对象模型: 48
关系模型: 48
多对一、一对多的区别: 48
Classes实体类: 48
Students实体类: 49
Student映射文件: 49
Classes映射文件: 49
导出至数据库(hbmddl)生成的SQL语句: 50
数据库表结构如下: 50
一对多 单向存储实例: 50
生成的SQL语句: 51
一对多,在一的一端维护关系的缺点: 51
一对多 单向数据加载: 51
加载生成SQL语句: 51
015 一对多关联映射 双向(one-to-many) 52
学生映射文件修改后的: 52
一对多 数据保存,从多的一端进行保存: 52
生成SQL语句: 52
关于inverse属性: 53
Inverse和cascade区别: 53
一对多双向关联映射总结: 53
016 多对多关联映射 单向(many-to-many) 54
实例场景: 54
对象模型: 54
关系模型: 54
Role实体类: 54
User实体类: 55
Role映射文件: 55
User映射文件: 55
导出至数据库表所生成SQL语句 56
数据库表及结构: 56
多对多关联映射 单向数据存储: 57
发出SQL语句: 58
多对多关联映射 单向数据加载: 58
017 多对多关联映射 双向(many-to-many) 58
018 关联映射文件中<class>标签中的lazy(懒加载)属性 60
Lazy(懒加载): 60
Hibernate中的lazy(懒加载): 60
Hibernate中lazy(懒加载)的实现: 60
Lazy(懒加载)在hibernate何处使用: 60
Hibernate的lazy生效期: 60
<class>标签上,可以取值:true/false,(默认值为:true): 60
019 关联映射文件中集合标签中的lazy(懒加载)属性 61
020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性 64
021 继承关联映射 65
继承关联映射的分类: 65
对象模型: 65
021-1单表继承: 65
Animal实体类: 65
Pig实体类: 66
Bird实体类: 66
数据库中表结构: 67
单表继承数据存储: 67
单表继承映射数据加载(指定加载子类): 67
单表继承映射数据加载(指定加载父类): 68
单表继承映射数据加载(指定加载父类,看能否鉴别真实对象): 68
多态查询: 69
采用load,通过Animal查询,将<class>标签上的lazy设置为false 69
采用get,通过Animal查询,可以判断出正直的类型 69
采用HQL查询,HQL是否支持多态查询 70
通过HQL查询表中所有的实体对象 70
021-2具体表继承: 70
关系模型: 71
映射文件(每个类映射成一个表): 71
导出输出SQL语句: 71
021-3类表继承 72
关系模型: 73
映射文件: 73
导出输出SQL语句: 73
数据库表结构如下: 74
021-4三种继承关联映射的区别: 74
022 component(组件)关联映射 75
Component关联映射: 75
User实体类: 75
Contact值对象: 76
User映射文件(组件映射): 77
导出数据库输出SQL语句: 77
数据表结构: 77
组件映射数据保存: 78
什么是实体类: 78
023 复合主键 关联映射 78
复合主键类: 80
实体类:(中引用了复合主键类) 80
导出数据库输出SQL语句: 81
复合主键关联映射数据存储: 81
数据的加载: 82
024 其它 关联映射 82
实例类 82
Hibernate对集合的存储关系: 83
集合关联映射文件实例: 83
导出至数据库输出SQL语句: 85
数据库表结构: 87
集合映射数据存储: 88
执行输出SQL语句: 89
025 hibernate悲观锁、乐观锁 90
025-1悲观锁: 90
悲观锁的实现 90
悲观锁的适用场景: 90
实例: 90
实体类: 91
映射文件: 91
悲观锁的使用 91
025-2乐观锁: 92
实体类: 92
映射文件 93
026 hibernate操作树形结构 94
节点实体类: 94
节点映射文件: 95
测试代码: 95
相应的类代码: 96
027 hibernate查询语言(HQL) 99
027-1 HQL简单例子 99
027-2 HQL演示环境 100
Classes实体类: 100
Student实体类: 100
Classes实体类的映射文件: 101
Student实体类映射文件: 101
初始化演示需要的数据: 101
027-3 简单属性的查询 103
01 单一属性查询 103
02 多个属性查询 104
03 查询一个或多个属性,要求返回实体对象 104
04 使用别名查询 104
027-4实体对象查询 105
01 简单的实体对象查询 105
02 实体对象使用别名查询 105
03使用select查询实体对象 105
04 HQL不支持select * from …… 105
05 query.iterate查询数据 105
06 query.list()和query.iterate()的区别 106
07 两次query.list() 106
027-5条件查询 107
01 条件查询 拼字符串 107
02 条件查询 点位符方式 107
03 Hibernate支持方法链 107
04 条件查询 参数名传递方式 108
05 条件查询 包含条件in 108
027-6 hibernate使用SQL中函数 109
027-7 hibernate支持原生SQL查询 109
027-8 外置命名查询 109
027-9 查询过滤器 110
1、定义过滤器参数 110
3、 定义过滤器在什么地方使用 110
3、使用过滤器(启用) 110
使用环境: 111
027-10 分页查询 111
027-11 对象导航查询 111
027-12 连接查询 112
1、内连接查询 112
2、左连接查询 112
3、右连接查询 112
027-13 统计查询 112
027-14 分组查询 113
027-15 dml风格查询 113
028 hibernate缓存(性能优化策略) 114
028--01 hibernate一级缓存 114
028--02 hibernate二级缓存 115
二级缓存的配置和使用: 115
二级缓存的开启: 115
指定二级缓存产品提供商: 115
指定哪些实体类使用二级缓存: 116
应用范围 118
二级缓存的管理: 118
二级缓存的交互 119
028--03 hibernate查询缓存 120
029 hibernate抓取策略 121