Hibernate之component映射
来源:互联网 发布:mysql总是弹出taskeng 编辑:程序博客网 时间:2024/05/17 23:33
我们学习component映射首先要了解它的一些特性。组件(component)属性的意思是:持久化类的属性并不是基本
数据类型,也不是字符串、日期等类型的变量,而是一个被包含的对象,在持久化的过程中,它仅仅被当做值类型,
而并非一个实体引用。在DDD中被称为值类,与实体类的区别就是没有标识。
属性介绍:
在hibernate中Component映射采用<component>标签即可,主要属性有:
(1)name:用于指定该组件属性的名称。
(2)class:指定组件类的类名。如果不指定该属性,Hibernate将通过反射来得到该组件的类型。
(3)insert:指定被映射的字段是否出现在SQL的insert语句中。
(4)update:指定被映射的字段是否出现在SQL的update语句中。
(5)access:指定Hibernate访问该组件属性的访问策略。
(6)lazy:设置该组件是否在持久化对象第一次被访问时启用延迟加载,该属性默认是true。
(7)optimistic-lock:设置更新该组件属性是否需要获取乐观锁,如果该属性设置为true,则当修改该组件属性
时,持久化对象的版本号会增加。
示例:
对象模型:
关系模型:
映射文件:
Employee.hbm.xml
<span style="font-size:18px;"><hibernate-mapping> <class name="com.wyj.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> </span>
User.hbm.xml
<span style="font-size:18px;"><hibernate-mapping> <class name="com.wyj.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> </span>
Component的优点:
实现对象模型的细粒度划分,复用率高,含义明确,层次分明。对象模型与关系模型的设计恰恰相
反,对象模型一般是细粒度的,关系模型一般是粗粒度的。
总结:
我们可以发现components映射中,对象和数据表并不是一一对应的,对象的设计粒度要比数据表更细。通过辅助
对象,简化程序中的操作,而表结构却并没有发生变化。也就是通过component映射,我们可以在不增加表的复杂度
的情况下,简化程序的设计。
- Hibernate之component映射
- Hibernate入门之Component 映射
- hibernate参考手册之---组件(Component)映射
- Hibernate之组件映射(embedded component)
- hibernate XML component 映射
- Hibernate中component映射
- 【Hibernate】Component映射
- 千山万水之Hibernate(九)——Component映射
- hibernate学习10之component(组件)映射
- Hibernate入门10 - Component 映射
- Hibernate入门10 - Component 映射
- Hibernate组件(Component)映射
- hibernate 组件(Component)映射
- 【Hibernate】——Component映射
- [JAVA] Hibernate Component组件映射
- Hibernate---->component映射和复合主键映射
- 【hibernate】--- 复合主键映射和Component映射
- Hibernate基础------》关系映射---》组件映射(component)
- HTTP服务七层架构技术探讨
- CF 538D(Weird Chess-反过来算)
- 转载几个股市经
- 两个月以来实习网申总结
- java--复习
- Hibernate之component映射
- <我的互联网方法论>周鸿祎
- Cadence 16.6 破解详细步骤
- centos php 升级到php5.3.3
- MBR和GPT的区别
- 12.首页一级分类的显示
- SpringSecurity整合SSH的简单例子
- Java多线程与并发应用-(8)-Callable和Future
- 亲密数编程语言的定位