Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Hibernate/NHibernate中的值对象引用实体?_C#_Java_Hibernate_Nhibernate_Domain Driven Design - Fatal编程技术网

C# 如何从Hibernate/NHibernate中的值对象引用实体?

C# 如何从Hibernate/NHibernate中的值对象引用实体?,c#,java,hibernate,nhibernate,domain-driven-design,C#,Java,Hibernate,Nhibernate,Domain Driven Design,从: 值对象甚至可以引用实体。例如,如果我问一个在线地图服务,从旧金山到洛杉矶的风景驱动路线,它可能会得到一个路线对象连接L.A.和旧金山通过太平洋海岸公路。该路线对象将是一个值,即使它引用的三个对象(两个城市和一条公路)都是实体 在Hibernate中,如果我有一个值对象,我可以将其映射为组件。如果我想引用该组件的实体,该怎么办 例如: 我有一张用户表 每个用户可以有许多地址 我创建了一个地址表,但我将地址视为域中的值对象 每个地址都有一个类型(工作地址、家庭地址等) 我创建一个地址类型表

从:

值对象甚至可以引用实体。例如,如果我问一个在线地图服务,从旧金山到洛杉矶的风景驱动路线,它可能会得到一个路线对象连接L.A.和旧金山通过太平洋海岸公路。该路线对象将是一个值,即使它引用的三个对象(两个城市和一条公路)都是实体

在Hibernate中,如果我有一个值对象,我可以将其映射为组件。如果我想引用该组件的实体,该怎么办

例如:

  • 我有一张用户表
  • 每个用户可以有许多地址
  • 我创建了一个地址表,但我将地址视为域中的值对象
  • 每个地址都有一个类型(工作地址、家庭地址等)
  • 我创建一个地址类型表作为查找,并将其视为域中的一个实体
  • 地址应具有对其类型的引用
我如何才能做到这一点?

请参阅

元素将子对象的属性映射到父类表的列。组件可以依次声明自己的属性、组件或集合。请参阅下面的“组件”


........
注意上面代码中的示例
属性
多对一
。要创建对另一个实体的引用,只需在组件内部使用
多对一
,就像在组件外部一样。

请参阅

元素将子对象的属性映射到父类表的列。组件可以依次声明自己的属性、组件或集合。请参阅下面的“组件”


........

注意上面代码中的示例
属性
多对一
。要创建对另一个实体的引用,只需在组件内部使用
many-To-one
,就像在组件外部一样。

在组件中声明一对一关系?为什么地址类型是实体?你在乎它的身份吗?@JefClaes我受到了这样的影响。您认为它最好建模为VO吗?在组件中声明一对一关系?为什么地址类型是实体?你在乎它的身份吗?@JefClaes我受到了这样的影响。你认为用VO建模更好吗?
<component>                 <!-- NOTE: I'm omitting the attributes. See docs for details on these. -->
       <property ...../>
       <many-to-one .... />
       ........
</component>