我有这个对象图,我想映射:
如何针对一个表映射? (我知道如何使用只有1级深度的实体层次结构,就像在文档中一样,但这是不同的。)
有人有想法吗? 我问了同样的问题 http://groups.google.com/group/nhusers/browse_frm/thread/7a85cba0048c18d8?hl=en,但到目前为止还没有得到有用的答案。
答案 0 :(得分:2)
从我看来,它应该与一级深层次结构没有什么不同。 试试这个:
<hibernate-mapping>
<class
name="Account"
table="..." >
<property .../>
...
<subclass
name="Customer" >
<property ... "/>
...
</subclass>
<subclass
name="IndividualCustomer" >
<property ... "/>
...
</subclass>
...
</class>
我这里没有NHibernate来检查它,但它看起来应该可行。如果不是,您可能还想尝试嵌套子类元素。
答案 1 :(得分:2)
嵌套子类是针对xml架构的,所以我的猜测是,它不起作用。 我可能还需要嵌套鉴别器声明,这也似乎是hackish。
并将其映射为平面...我传递一个抽象类的鉴别器,由于无法实例化抽象类,因此无法使用它。似乎也是错的。
但你是对的,我会试一试。现在,对我来说,让客户拥有帐户似乎更好,而不是一个帐户。
谢谢!