![]() |
1
10
您很可能正在将两个具有相同id的员工添加到会话中。 找出为什么有两个员工拥有相同的id。
当您要在
这个错误还有其他原因,但我不知道你在做什么,也不知道你的映射文件是什么样子。
或使用合并:
说明: 内存中只能有同一数据库“record”的一个实例。NH确保查询返回的实例与会话缓存中的实例相同。如果不是这样,那么对于同一个数据库字段,内存中会有多个值。这是不一致的。
当一个实例已经在会话中(例如通过查询)并且试图将另一个具有相同id的实例(例如分离/序列化的实例)放入会话中(例如使用update)时,就会出现问题。 解决方案一将实例放入会话 任何其他查询。NH将在所有后续查询中准确返回此实例!这真的很好,但是您需要在任何查询之前调用Update以使其正常工作。 解决方案二使用合并。合并执行以下操作:
编辑: 第二个雇员实例
|
![]() |
2
0
|
![]() |
Nico Pizzo · 子查询上的nhibernate联接 6 年前 |
![]() |
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 6 年前 |
![]() |
Stu · 具有特定类型的字符串外键的NHibernate映射 7 年前 |
![]() |
Zout · 为Hibernate的HiLo算法管理的列生成ID 7 年前 |