|
|
1
2
在我看来,你基本上建立了一个
directed graph
,以及这两个映射
这种定向性通过关系类型的语义得到加强:while 是同事吗 symmetric relation 是一个经理吗 和 是导师吗 它们几乎肯定是不对称的。
|
|
|
2
2
我想我也会这样做,但是,我认为这样建模有点“笨拙”。
我的意思是:你有一群与某个人有关系的人,但你也有一个“后台关系”。
嗯,这听起来可能有点模糊,所以这里有一些代码(注意,为了简洁起见,我省略了“虚拟”修饰符等…(我也不喜欢使用这些修饰符,所以在99%的时间里,我在类映射中指定“lazy=false”)。
如您所见,Person类只剩下一个集合,即PersonPerson对象的集合,它表示此人拥有的关系。 为了获取与给定人员有关系的人员,您可以在PersonRepository上创建一个返回这些人员的特定方法,而不是将他们放在Person类的集合中。我认为这也会提高性能。
“反向引用”不是Person类的成员;它必须通过存储库进行访问。 这也是Eric Evans在他的DDD-book中所说的:在某些情况下,最好在存储库上有一个专门的方法,可以让您访问相关对象,而不是让它们(=相关对象)随身携带对象本身。
|
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |