|
如上面所示,Order通过属性对Consignee进行了引用。但是Consignee没有对Order的一个反向关联,因为业务上不需要,而且感觉不合理。但是这样一个模型在配置Nhibernate的映射时遇到了麻烦,不知道如何配置,请有经验的朋友帮忙处理下。谢谢了。
|
如上面所示,Order通过属性对Consignee进行了引用。但是Consignee没有对Order的一个反向关联,因为业务上不需要,而且感觉不合理。但是这样一个模型在配置Nhibernate的映射时遇到了麻烦,不知道如何配置,请有经验的朋友帮忙处理下。谢谢了。
业务上一般不需要,双向关联越少越好,但是Hibernate这样的技术工具没有双向关联就性能很差,所以,你就必须使用,尽管从设计角度讲这是不好的,这说明Hibernate或NHibernate的局限之处。等有好的再说吧。
order.Consignee = consignee ;
consignee.Order = order;(如果缺少这一步,发现nhibernate无法将consignee存储到数据库中)
不知这个问题是正常的还是我配置出错了?
希望banq辛苦下,都给个回复,谢谢
[该贴被lovko于2010-08-06 10:38修改过]
[该贴被lovko于2010-08-06 10:47修改过]
是的,这是保证对象唯一性,你可以在Order构造器中加入对其子对象的构造赋值语句,或者通过专门的工厂来创建。
[该贴被lovko于2010-08-06 11:10修改过]
[该贴被lovko于2013-04-23 21:23修改过]