0

我为 2 个实体创建了多对多关系。但是映射只设置在一侧。例如 OrderMap 类:

    HasManyToMany(x => x.Fields)
            .Access.CamelCaseField(Prefix.Underscore)
            .ChildKeyColumn(ColumnNames.Field_Id)
            .ParentKeyColumn(ColumnNames.Order_Id)
            .LazyLoad()
            .Cascade.All()
            .Table(TableNames.Order_Fields_Join);

但另一方面,即为 FieldMap 类。我没有指定这个映射。截至目前,Nhibernate 正在抛出错误,我不确定是否是因为这个。你能告诉我这是否正确吗?我的休眠错误是:“具有相同标识符值的不同对象已与会话相关联”

4

1 回答 1

0

不必在两侧映射多对多,正如您发布的那样,这是完全合法的。您收到的错误是因为您想要保存/更新/删除两个具有相同标识符的不同对象,这表明存在错误,因此 NHibernate 抛出。发布引发异常的代码。

于 2012-09-14T07:10:22.810 回答