SlideShare une entreprise Scribd logo
1  sur  80
映射文件详解
目标 ,[object Object],[object Object]
Hibernate 配置文件   ,[object Object],[object Object],[object Object],[object Object],[object Object]
hibernate.cfg.xml 的常用属性 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
jdbc.fetch_size  和  jdbc.batch_size ,[object Object],[object Object],[object Object]
配置  c3p0 数据库连接池  ,[object Object]
POJO  类和数据库的映射文件 *.hbm.xml ,[object Object],[object Object]
映射文件示例
映射文件说明 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
hibernate-mapping ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
主键 -id ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
主键生成策略 generator   ,[object Object]
主键生成策略 generator ,[object Object],推荐使用
基本类型- property ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hibernate 内置映射类型
Hibernate 内置映射类型
映射集合属性 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
List 集合映射 ,[object Object]
List 集合映射 ,[object Object]
List 集合映射 ,[object Object]
List 集合映射 ,[object Object],[object Object]
List 集合映射 ,[object Object],[object Object]
Set 集合映射 ,[object Object]
Set 集合映射 ,[object Object]
Set 集合映射 ,[object Object],[object Object],注:映射  Set  集合属性时,如果  element  元素包括  not-null =  “ true ”   属性,则集合属性表以关联持久化类的外键和元素列作为联合主键,否则该表没有主键。但  List  集合属性不会, List  集合属性总是以外键列和元素此序列作为联合主键。
bag 元素映射  ,[object Object]
Map 集合属性  ,[object Object]
集合属性的性能的分析  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
映射组件属性 ,[object Object]
映射组件属性 ,[object Object]
映射组件属性 ,[object Object]
映射组件属性 ,[object Object],[object Object]
集合组件属性映射 ,[object Object]
集合组件属性映射 ,[object Object]
Hibernate  的关联关系映射 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
单向  N-1 ,[object Object]
单向  N-1 ,[object Object],[object Object]
单向  N-1 ,[object Object],[object Object],[object Object]
基于外键的单向  1-1 ,[object Object],[object Object],[object Object]
基于主键的单向  1-1 ,[object Object]
基于主键的单向  1-1 ,[object Object]
单向的  1-N ,[object Object],[object Object],[object Object],[object Object]
单向的  N-N ,[object Object],[object Object],[object Object]
单向的  N-N  的 测试程序
单向的  N-N ,[object Object],[object Object],[object Object],[object Object]
双向  1-N ,[object Object],[object Object],1 0…n
双向  1-N ,[object Object]
双向  1-N ,[object Object],  注意:在上面的配置文件中,两个持久化类的配置文件都需要指定外键列的列名,此时不可以省略。因为不使用连接表的 1-N 关联的外键,而外键只保存在 N 一端的表中,如果两边指定的外键列名不同,将导致关联映射出错。如果不指定外键列的列名,该列名由系统自动生成,而系统很难保存自动生成的两个列名相同。
双向  1-N ,[object Object]
双向  1-N ,[object Object],[object Object],[object Object]
双向  1-N ,[object Object],[object Object]
双向  1-N ,[object Object],[object Object],[object Object],[object Object],[object Object]
双向  1-N ,[object Object],[object Object],[object Object],[object Object]
双向  1-N ,[object Object],[object Object],[object Object]
inverse  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
cascade ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
cascade ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
双向 N-N 关联  ,[object Object],0…n 0…n
双向 N-N 关联 ,[object Object],注意:在双向 N-N 关联的两边都需定连接表的表名及外键列的列名。两个集合元素 set 的 table 元素的值必须指定,而且必须相同。 set 元素的两个子元素: key 和 many-to-many 都必须指定 column 属性,其中, key 和 many-to-many 分别指定本持久化类和关联类在连接表中的外键列名,因 此两边的 key 与 many-to-many 的 column 属性交叉相同。也就是说,一边的 set 元素的 key 的 cloumn 值为 a,many-to-many 的 column 为 b ;则另一边的 set 元素的 key 的 column 值 b,many-to-many 的 column 值为 a.
双向 1-1 关联  ,[object Object],[object Object]
基于外键的双向 1-1 关联  ,[object Object],[object Object],[object Object]
基于外键的双向 1-1 关联
基于外键的双向 1-1 关联 ,[object Object],[object Object],[object Object]
基于主键的双向 1-1 关联  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
基于主键的双向 1-1 关联
基于主键的双向 1-1 关联 ,[object Object],[object Object],[object Object]
继承映射 ,[object Object]
继承映射 ,[object Object],[object Object],[object Object],[object Object]
采用  subclass  元素的继承映射 ,[object Object],[object Object],[object Object]
采用  subclass  元素的继承映射
采用  subclass  元素的继承映射 ,[object Object],[object Object],注:所有子类定义的字段都不能有非空约束。如果为那些字段添加非空约束,那么父类的实例在那些列根本没有值,这将引起数据库完整性冲突,导致父类的实例无法保存到数据库中
采用  joined-subclass  元素的继承映射 ,[object Object],[object Object],[object Object],[object Object]
采用  joined-subclass  元素的继承映射
采用  joined-subclass  元素的继承映射 ,[object Object],[object Object],[object Object]
采用  union-subclass  元素的继承映射 ,[object Object],[object Object],[object Object],[object Object],[object Object]
采用  union-subclass  元素的继承映射
采用  union-subclass  元素的继承映射 ,[object Object],[object Object],[object Object]
三种继承映射方式的比较  union-subclass subclass joined-subclass
小结 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Java相关基础知识
Java相关基础知识Java相关基础知识
Java相关基础知识
yiditushe
 
Patterns in Zend Framework
Patterns in Zend FrameworkPatterns in Zend Framework
Patterns in Zend Framework
Jace Ju
 
jsp基础速成精华讲解
jsp基础速成精华讲解jsp基础速成精华讲解
jsp基础速成精华讲解
wensheng wei
 
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
Asika Simon
 
Java Collections中的Fail Fast机制
Java Collections中的Fail Fast机制Java Collections中的Fail Fast机制
Java Collections中的Fail Fast机制
yiditushe
 
Oracle公司内部数据库培训资料
Oracle公司内部数据库培训资料Oracle公司内部数据库培训资料
Oracle公司内部数据库培训资料
yiditushe
 
Jsp面试知识
Jsp面试知识Jsp面试知识
Jsp面试知识
yiditushe
 

Tendances (12)

Java相关基础知识
Java相关基础知识Java相关基础知识
Java相关基础知识
 
lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫
 
Patterns in Zend Framework
Patterns in Zend FrameworkPatterns in Zend Framework
Patterns in Zend Framework
 
jsp基础速成精华讲解
jsp基础速成精华讲解jsp基础速成精华讲解
jsp基础速成精华讲解
 
【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學
 
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
 
Java Collections中的Fail Fast机制
Java Collections中的Fail Fast机制Java Collections中的Fail Fast机制
Java Collections中的Fail Fast机制
 
Oracle公司内部数据库培训资料
Oracle公司内部数据库培训资料Oracle公司内部数据库培训资料
Oracle公司内部数据库培训资料
 
第二章
第二章第二章
第二章
 
Jsp面试知识
Jsp面试知识Jsp面试知识
Jsp面试知识
 
Moodle 项目帮助手册:程序编写准则
Moodle 项目帮助手册:程序编写准则Moodle 项目帮助手册:程序编写准则
Moodle 项目帮助手册:程序编写准则
 
组合、备忘录、建造者模式、原型
组合、备忘录、建造者模式、原型组合、备忘录、建造者模式、原型
组合、备忘录、建造者模式、原型
 

En vedette

πολλατος
πολλατοςπολλατος
πολλατος
matina65
 
TUGAS mengenali minat dan bakat
TUGAS mengenali minat dan bakatTUGAS mengenali minat dan bakat
TUGAS mengenali minat dan bakat
ardianastevi
 
Metode Wawancara (Psikologi Umum)
Metode Wawancara (Psikologi Umum)Metode Wawancara (Psikologi Umum)
Metode Wawancara (Psikologi Umum)
atone_lotus
 

En vedette (7)

Presentation från grundskolan, sameskolan och specialskolans kursplanekonfere...
Presentation från grundskolan, sameskolan och specialskolans kursplanekonfere...Presentation från grundskolan, sameskolan och specialskolans kursplanekonfere...
Presentation från grundskolan, sameskolan och specialskolans kursplanekonfere...
 
πολλατος
πολλατοςπολλατος
πολλατος
 
TUGAS mengenali minat dan bakat
TUGAS mengenali minat dan bakatTUGAS mengenali minat dan bakat
TUGAS mengenali minat dan bakat
 
Following the user’s interests in mobile context aware recommender systems
Following the user’s interests in mobile context aware recommender systemsFollowing the user’s interests in mobile context aware recommender systems
Following the user’s interests in mobile context aware recommender systems
 
Penjelasan konvensi
Penjelasan konvensiPenjelasan konvensi
Penjelasan konvensi
 
Metode Wawancara (Psikologi Umum)
Metode Wawancara (Psikologi Umum)Metode Wawancara (Psikologi Umum)
Metode Wawancara (Psikologi Umum)
 
ADMINISTRASI TES PSIKOLOGI
ADMINISTRASI TES PSIKOLOGIADMINISTRASI TES PSIKOLOGI
ADMINISTRASI TES PSIKOLOGI
 

Similaire à Hibernate 映射配置文件详解

Erlang培训
Erlang培训Erlang培训
Erlang培训
liu qiang
 
12 hibernate 集合映射
12 hibernate 集合映射12 hibernate 集合映射
12 hibernate 集合映射
Zelin Wang
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试
lydiafly
 
第02章 线性表(java版)
第02章  线性表(java版)第02章  线性表(java版)
第02章 线性表(java版)
Yan Li
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册
锐 张
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
yiditushe
 
Android動態ui介面設計
Android動態ui介面設計Android動態ui介面設計
Android動態ui介面設計
艾鍗科技
 
前端基础知识回顾
前端基础知识回顾前端基础知识回顾
前端基础知识回顾
Wu tianhao
 
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
Lixun Peng
 

Similaire à Hibernate 映射配置文件详解 (20)

hibernate
hibernatehibernate
hibernate
 
Linux c++ 编程之链接与装载 -提高篇--v0.3--20120509
Linux c++ 编程之链接与装载 -提高篇--v0.3--20120509Linux c++ 编程之链接与装载 -提高篇--v0.3--20120509
Linux c++ 编程之链接与装载 -提高篇--v0.3--20120509
 
Hibernate教程
Hibernate教程Hibernate教程
Hibernate教程
 
Erlang培训
Erlang培训Erlang培训
Erlang培训
 
Hibernate
HibernateHibernate
Hibernate
 
12 hibernate 集合映射
12 hibernate 集合映射12 hibernate 集合映射
12 hibernate 集合映射
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试
 
第02章 线性表(java版)
第02章  线性表(java版)第02章  线性表(java版)
第02章 线性表(java版)
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册
 
Java_06:Collection
Java_06:CollectionJava_06:Collection
Java_06:Collection
 
Js tree
Js treeJs tree
Js tree
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术
 
Row Set初步学习V1.1
Row Set初步学习V1.1Row Set初步学习V1.1
Row Set初步学习V1.1
 
Js培训
Js培训Js培训
Js培训
 
Android動態ui介面設計
Android動態ui介面設計Android動態ui介面設計
Android動態ui介面設計
 
functional-scala
functional-scalafunctional-scala
functional-scala
 
前端基础知识回顾
前端基础知识回顾前端基础知识回顾
前端基础知识回顾
 
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
 

Hibernate 映射配置文件详解