2010-05-14 106 views
0

我正在使用nHibernate进行数据库持久化。我有两个表之间定义的一对多关系。当我查询并尝试获取数据时,我从“many”表中获取正确数量的行,但行是第一行返回的行的重复。重复记录

table1(one),table2(many)。我创建了一个标准查询来获取table1中的某个记录。然后我希望从table2中获取所有关联的记录。即table1保存命令,table2保存项目。我查询table1以获得包含4个项目的订单。我希望看到table2中的4个项目中的每一个,但我所看到的是第一个重复4次的项目。

有没有人有任何想法可能会发生什么?

回答

1

我发现问题是table2上的复合键。我包括复合id映射,它工作正常。

感谢代码here让我度过了Equals和GetHashCode错误。

谢谢

0

NHibernate执行连接来执行您的查询。要获得不同的结果,请使用DistinctEntityRootTransformer。

+0

但运行它的查询返回正确的数据,这导致我相信它可能是一个映射问题。这听起来正确吗? – czuroski 2010-05-14 16:03:53