DDD中的值对象如何用NHibernate进行映射

简介: 原文:DDD中的值对象如何用NHibernate进行映射是NHibernate中一个有趣的特性,即是用来映射DDD(Data-Display-Debuger)概念形式的值类型。这是一种创建比物理数据模型具有更高粒度的对象模型的方式。
原文: DDD中的值对象如何用NHibernate进行映射

<component/>是NHibernate中一个有趣的特性,即是用来映射DDD(Data-Display-Debuger)概念形式的值类型。这是一种创建比物理数据模型具有更高粒度的对象模型的方式。 
举例,
 
看下表中的数据: 
 
对应的对象模型: 
 
它们十分不同,在一个单一表中包括了所有物理数据,我们想在对象模型中调整为用两个分离的类型来映射该表。这就是<component/>的用法: 
< class  name ="Person"  table ="People" > 
   < id  name ="Id" > 
     < generator  class ="identity" /> 
   </ id > 
   < property  name ="Name"   /> 
   < component  name ="Address" > 
     < property  name ="Line1" /> 
     < property  name ="Line2" /> 
     < property  name ="City" /> 
     < property  name ="Country" /> 
     < property  name ="ZipCode" /> 
   </ component > 
</ class > 
这个映射将会在物理数据模型和对象模型中转换。我们还可以让NHibernate对<component>进行排序并给我们所预期的对象图。
目录
相关文章
|
9月前
|
uml
UML关系与代码的映射
UML关系与代码的映射
|
11月前
|
API Perl
「领域驱动设计」领域驱动设计中的上下文映射
「领域驱动设计」领域驱动设计中的上下文映射
|
Java 数据库连接 数据库
Hibernate【映射】知识要点(一)
Hibernate【映射】知识要点
98 0
Hibernate【映射】知识要点(一)
|
SQL Java 数据库连接
Hibernate【映射】知识要点(三)
Hibernate【映射】知识要点
92 0
Hibernate【映射】知识要点(三)
|
SQL Java 数据库连接
Hibernate【映射】知识要点(二)
Hibernate【映射】知识要点
122 0
Hibernate【映射】知识要点(二)
|
Java 数据库连接 数据库
Hibernate【映射】知识要点(四)
Hibernate【映射】知识要点
105 0
Hibernate【映射】知识要点(四)
|
存储 Java 数据库连接
Hibernte的多对多映射(十二)
Hibernte的多对多映射(十二)
Hibernte的多对多映射(十二)
|
XML Java 数据库连接
Hibernate【映射】知识要点
前言 前面的我们使用的是一个表的操作,但我们实际的开发中不可能只使用一个表的...因此,本博文主要讲解关联映射 集合映射 需求分析:当用户购买商品,用户可能有多个地址。 数据库表 我们一般如下图一样设计数据库表,一般我们不会在User表设计多个列来保存地址的。
992 0