SlideShare a Scribd company logo
Hibernate 框架

   组件 (Component) 映
          射
组件( Component )的概念
 Component :这个概念在 Hibernate 中为在
  几处不同的地方为了不同的目的而被重复使用的
  组件。
 Component 是一个被包含的对象,它作为值类
  型被持久化,而非一个被引用的实体。
 “Component( 组件 )” 这一术语指的是面向对
  象的合成概念。
 Component 是某个实体的逻辑组成部分




www.sodi.com.cn
组件映射示例
 定义描述雇员和客户的表
 表结构:
                                           Employee( 表 )

       empId empName                email           address       postCode         telephone
      ------------------------------------------------------------------------------------------
        E001         张三           zhangs@163.com 苏州新区                       215002
      0512-32645879
        E002         李四           lisi@163.com          苏州沧浪区              215005
      13587945685
        E003         王五           wangw@163.com 苏州平江区                      215001
      13954687952
         ……                                Customer( 表 )

      custId custName              email          address       postCode          telephone
     ------------------------------------------------------------------------------------------
       C001         张明            zhangm@163.com 苏州新区                       215002
     0512-32645879
       C002         李芳            lifang@163.com        上海                    210000
     021-85687943
       C003         刘钟            liuz@sina.com         北京                    102536
     010-88526345
        ……
www.sodi.com.cn
组件映射示例
  对象模型:
                                Contact( 类 )

                              email:String
                              address: String
                              postCode:String
                              telephone:String




            Employee( 类 )                        Customer( 类 )

           empId: String                         custId: int
           empName:String                        custName: String
           contact: Contact                      contact: Contact




www.sodi.com.cn
组件映射 -- 映射文件

      Employee.hbm.xml:

     <hibernate-mapping package="com.sodi.entity">
      <class name="Employee" table="tab_employee">
      <id name="empId" column="empid">
             <generator class="assigned" />
      </id>
      <property name="empName" column="empname"/>
      <!-- 组件映射 -->
      <component name="contact">
             <property name="email" column="email"/>
             <property name="address" column="address"/>
             <property name="postCode" column="postCode"/>
             <property name="telephone" column="telephone"/>
      </component>
      </class>
     </hibernate-mapping>

www.sodi.com.cn
组件映射 -- 映射文件
      Customer.hbm.xml:

     <hibernate-mapping package="com.sodi.entity">
      <class name=“Customer" table="tab_customer">
      <id name=“custId" column=“custid">
             <generator class="assigned" />
      </id>
      <property name=“custName" column=“custname"/>
      <!-- 组件映射 -->
      <component name="contact">
             <property name="email" column="email"/>
             <property name="address" column="address"/>
             <property name="postCode" column="postCode"/>
             <property name="telephone" column="telephone"/>
      </component>
      <property name="companyName" column="companyname"/>
      </class>
     </hibernate-mapping>

www.sodi.com.cn
操作演示




                  操作演示




www.sodi.com.cn
总结

 组件 Component 概念
 组件映射的实体模型
 组件映射的应用




www.sodi.com.cn
www.sodi.com.cn

More Related Content

Similar to 11 hibernate 组件映射

使用kslite支持第三方内容开发
使用kslite支持第三方内容开发使用kslite支持第三方内容开发
使用kslite支持第三方内容开发leneli
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
Kuro Hsu
 
HTML5 介绍
HTML5 介绍HTML5 介绍
HTML5 介绍S S
 
Free Marker中文文档
Free Marker中文文档Free Marker中文文档
Free Marker中文文档yiditushe
 
Mongodb
MongodbMongodb
Mongodbbj
 
CSS 培训
CSS 培训CSS 培训
CSS 培训S S
 
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践
Du Yamin
 
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践jay li
 
TBAD F2E 2010 review
TBAD F2E 2010 reviewTBAD F2E 2010 review
TBAD F2E 2010 review
leneli
 
10 hibernate 多对多关系映射
10 hibernate 多对多关系映射10 hibernate 多对多关系映射
10 hibernate 多对多关系映射Zelin Wang
 
FIM Media Player - BoxModel in Flash
FIM Media Player - BoxModel in FlashFIM Media Player - BoxModel in Flash
FIM Media Player - BoxModel in Flashqizhi20
 
Css性能优化
Css性能优化Css性能优化
Css性能优化linxz
 
Backbone.js and MVW 101
Backbone.js and MVW 101Backbone.js and MVW 101
Backbone.js and MVW 101
Jollen Chen
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
Sheng-Han Su
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
 
高粒度模块化的前端开发
高粒度模块化的前端开发高粒度模块化的前端开发
高粒度模块化的前端开发
iddcn
 
Static server介绍
Static server介绍Static server介绍
Static server介绍
sun jamie
 
关系数据库应用设计基础
关系数据库应用设计基础关系数据库应用设计基础
关系数据库应用设计基础
ideawu
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)
Dexter Yang
 

Similar to 11 hibernate 组件映射 (20)

使用kslite支持第三方内容开发
使用kslite支持第三方内容开发使用kslite支持第三方内容开发
使用kslite支持第三方内容开发
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
 
HTML5 介绍
HTML5 介绍HTML5 介绍
HTML5 介绍
 
Free Marker中文文档
Free Marker中文文档Free Marker中文文档
Free Marker中文文档
 
Mongodb
MongodbMongodb
Mongodb
 
CSS 培训
CSS 培训CSS 培训
CSS 培训
 
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践
 
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践
 
TBAD F2E 2010 review
TBAD F2E 2010 reviewTBAD F2E 2010 review
TBAD F2E 2010 review
 
10 hibernate 多对多关系映射
10 hibernate 多对多关系映射10 hibernate 多对多关系映射
10 hibernate 多对多关系映射
 
FIM Media Player - BoxModel in Flash
FIM Media Player - BoxModel in FlashFIM Media Player - BoxModel in Flash
FIM Media Player - BoxModel in Flash
 
Css性能优化
Css性能优化Css性能优化
Css性能优化
 
Backbone.js and MVW 101
Backbone.js and MVW 101Backbone.js and MVW 101
Backbone.js and MVW 101
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
 
Structs2簡介
Structs2簡介 Structs2簡介
Structs2簡介
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
高粒度模块化的前端开发
高粒度模块化的前端开发高粒度模块化的前端开发
高粒度模块化的前端开发
 
Static server介绍
Static server介绍Static server介绍
Static server介绍
 
关系数据库应用设计基础
关系数据库应用设计基础关系数据库应用设计基础
关系数据库应用设计基础
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)
 

More from Zelin Wang

16 hibernate criteria查询
16 hibernate criteria查询16 hibernate criteria查询
16 hibernate criteria查询Zelin Wang
 
15 hibernate hql查询2
15 hibernate hql查询215 hibernate hql查询2
15 hibernate hql查询2Zelin Wang
 
14 hibernate hql查询1
14 hibernate hql查询114 hibernate hql查询1
14 hibernate hql查询1Zelin Wang
 
12 hibernate 集合映射
12 hibernate 集合映射12 hibernate 集合映射
12 hibernate 集合映射Zelin Wang
 
4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构Zelin Wang
 
3 hibernate映射元素和类型
3 hibernate映射元素和类型3 hibernate映射元素和类型
3 hibernate映射元素和类型Zelin Wang
 
2 hibernate核心api
2 hibernate核心api2 hibernate核心api
2 hibernate核心apiZelin Wang
 
8 hibernate 一对一关系映射
8 hibernate 一对一关系映射8 hibernate 一对一关系映射
8 hibernate 一对一关系映射Zelin Wang
 

More from Zelin Wang (8)

16 hibernate criteria查询
16 hibernate criteria查询16 hibernate criteria查询
16 hibernate criteria查询
 
15 hibernate hql查询2
15 hibernate hql查询215 hibernate hql查询2
15 hibernate hql查询2
 
14 hibernate hql查询1
14 hibernate hql查询114 hibernate hql查询1
14 hibernate hql查询1
 
12 hibernate 集合映射
12 hibernate 集合映射12 hibernate 集合映射
12 hibernate 集合映射
 
4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构
 
3 hibernate映射元素和类型
3 hibernate映射元素和类型3 hibernate映射元素和类型
3 hibernate映射元素和类型
 
2 hibernate核心api
2 hibernate核心api2 hibernate核心api
2 hibernate核心api
 
8 hibernate 一对一关系映射
8 hibernate 一对一关系映射8 hibernate 一对一关系映射
8 hibernate 一对一关系映射
 

11 hibernate 组件映射

  • 1. Hibernate 框架 组件 (Component) 映 射
  • 2. 组件( Component )的概念  Component :这个概念在 Hibernate 中为在 几处不同的地方为了不同的目的而被重复使用的 组件。  Component 是一个被包含的对象,它作为值类 型被持久化,而非一个被引用的实体。  “Component( 组件 )” 这一术语指的是面向对 象的合成概念。  Component 是某个实体的逻辑组成部分 www.sodi.com.cn
  • 3. 组件映射示例  定义描述雇员和客户的表  表结构: Employee( 表 ) empId empName email address postCode telephone ------------------------------------------------------------------------------------------ E001 张三 zhangs@163.com 苏州新区 215002 0512-32645879 E002 李四 lisi@163.com 苏州沧浪区 215005 13587945685 E003 王五 wangw@163.com 苏州平江区 215001 13954687952 …… Customer( 表 ) custId custName email address postCode telephone ------------------------------------------------------------------------------------------ C001 张明 zhangm@163.com 苏州新区 215002 0512-32645879 C002 李芳 lifang@163.com 上海 210000 021-85687943 C003 刘钟 liuz@sina.com 北京 102536 010-88526345 …… www.sodi.com.cn
  • 4. 组件映射示例  对象模型: Contact( 类 ) email:String address: String postCode:String telephone:String Employee( 类 ) Customer( 类 ) empId: String custId: int empName:String custName: String contact: Contact contact: Contact www.sodi.com.cn
  • 5. 组件映射 -- 映射文件 Employee.hbm.xml: <hibernate-mapping package="com.sodi.entity"> <class name="Employee" table="tab_employee"> <id name="empId" column="empid"> <generator class="assigned" /> </id> <property name="empName" column="empname"/> <!-- 组件映射 --> <component name="contact"> <property name="email" column="email"/> <property name="address" column="address"/> <property name="postCode" column="postCode"/> <property name="telephone" column="telephone"/> </component> </class> </hibernate-mapping> www.sodi.com.cn
  • 6. 组件映射 -- 映射文件 Customer.hbm.xml: <hibernate-mapping package="com.sodi.entity"> <class name=“Customer" table="tab_customer"> <id name=“custId" column=“custid"> <generator class="assigned" /> </id> <property name=“custName" column=“custname"/> <!-- 组件映射 --> <component name="contact"> <property name="email" column="email"/> <property name="address" column="address"/> <property name="postCode" column="postCode"/> <property name="telephone" column="telephone"/> </component> <property name="companyName" column="companyname"/> </class> </hibernate-mapping> www.sodi.com.cn
  • 7. 操作演示 操作演示 www.sodi.com.cn
  • 8. 总结 组件 Component 概念 组件映射的实体模型 组件映射的应用 www.sodi.com.cn