Hibrtnate组件映射

Component映射

在hibernate中Component映射采用<component>标签即可

Component是某个实体的逻辑组成部分,它与实体类的主要差别在于,它没有oid
Component在DDD中被称为值类

采用Component的好处:实现对象模型的细粒度划分,复用率高,含义明确,层次分明

对象模型与关系模型的设计恰恰相反,对象模型一般是细粒度的,关系模型一般是粗粒度的

 

示例:

对象模型:

 

关系模型:

 

映射文件:

 
  1. <hibernate-mapping>  
  2.     <class name="com.jialin.hibernate.Employee" table="t_emplyee">  
  3.         <id name="id">  
  4.             <generator class="native"/>  
  5.         </id>  
  6.         <property name="name"/>  
  7.         <component name="employeeContact">  
  8.             <property name="email"/>  
  9.             <property name="address"/>  
  10.             <property name="zipCode"/>  
  11.             <property name="contactTel"/>  
  12.         </component>  
  13.     </class>  
  14. </hibernate-mapping>  


User.hbm.xml

 
    1. <hibernate-mapping>  
    2.     <class name="com.jialin.hibernate.User" table="t_user">  
    3.         <id name="id">  
    4.             <generator class="native"/>  
    5.         </id>  
    6.         <property name="name"/>  
    7.         <component name="userContact">  
    8.             <property name="email"/>  
    9.             <property name="address"/>  
    10.             <property name="zipCode"/>  
    11.             <property name="contactTel"/>  
    12.         </component>  
    13.     </class>  
    14. </hibernate-mapping>  
posted @ 2016-09-05 17:33  残殇--  阅读(141)  评论(0编辑  收藏  举报