浅析Hibernate映射(四)——组件映射(component)

Component映射

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

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

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

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

示例:

对象模型:

技术分享

 

关系模型:

技术分享

映射文件:

Employee.hbm.xml

  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>  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。