Component映射
在hibernate中Component映射采用<component>标签即可
Component是某个实体的逻辑组成部分,它与实体类的主要差别在于,它没有oid
Component在DDD中被称为值类
采用Component的好处:实现对象模型的细粒度划分,复用率高,含义明确,层次分明
对象模型与关系模型的设计恰恰相反,对象模型一般是细粒度的,关系模型一般是粗粒度的
示例:
对象模型:
关系模型:
映射文件:
Employee.hbm.xml
[html] view plaincopyprint?
- <hibernate-mapping>
- <class name="com.jialin.hibernate.Employee" table="t_emplyee">
- <id name="id">
- <generator class="native"/>
- </id>
- <property name="name"/>
- <component name="employeeContact">
- <property name="email"/>
- <property name="address"/>
- <property name="zipCode"/>
- <property name="contactTel"/>
- </component>
- </class>
- </hibernate-mapping>
User.hbm.xml
[html] view plaincopyprint?
- <hibernate-mapping>
- <class name="com.jialin.hibernate.User" table="t_user">
- <id name="id">
- <generator class="native"/>
- </id>
- <property name="name"/>
- <component name="userContact">
- <property name="email"/>
- <property name="address"/>
- <property name="zipCode"/>
- <property name="contactTel"/>
- </component>
- </class>
- </hibernate-mapping>
时间: 2024-10-14 09:16:23