我有一个对象与大约20个其他对象相关的MainObject。这20个其他对象 - RelatedObject1,RelatedObject2等与MainObject的关系定义如下。NHibernate实体映射
1实例MainObject - RelatedObject_1 1个实例的> N个实例MainObject - > RelatedObject_2的N个实例 1实例MainObject - > RelatedObject_3 的N个实例。 。 。 1个实例MainObject - > N个RelatedObject_20的实例。
现在所有的关系都是“有 - 有”关系,而不是“IS-A”关系。这不是一个亲子关系。
相关对象在系统中有其独立的事务功能流程。 现在我应该在我的MainObject.hbm.xml中为这20个相关对象创建Bags/Sets/Lists /。 用于从MainObject访问它们的数据。
如果我创建一个包/设置/列表 - 我想确保在保存或更新MainObject时数据不保存/保留在数据库中。在这种情况下使用哪些属性是有意义的。
但由于相关实体的交易流程是独立的,它是一个很好的做法,包括皮包一样?这不会增加对象图吗? – 2012-03-27 10:49:19
如果您经常需要将主对象与相关对象一起使用,则更容易建立关系,因为您可以使用获取路径来快速加载带有相关数据的主对象。此外,Cascade =“none”可确保在CUD主对象时未触及相关对象。 – Firo 2012-03-27 16:51:41
谢谢。这回答了我的问题。 – 2012-03-28 04:11:56