有关Hibernate中的SaveOrUpdate的问题
我是用NHibernate和SQL2000数据库做的一个项目,在Mapping中有3个表配置,其中A是主对象,b、c是A的两个子,A与b、c是一对多的关系,我现在遇到的问题是在保存的时候出的问题具体情况如下:
private void save(A a)
{
ADataAccess m_Access = new ADataAccess()
m_Access.BeginTransaction();
try
{
m_Access.Save(a);
m_Access.Session.Flush();
//此方法是做另外的事儿
SaveOther();
m_Access.Commit();
}
catch
{
m_Access.RollBack();
throw;
}
finally
{
m_Access.Session.Close();
}
}
第一次执行的时候是在方法SaveOther()中报错,弹出一个错误窗口,然后我再点执行方法Save(A a)的这个按钮那么就是在执行到m_Access.Session.Flush()时报如下的错误
SQL insert,update or delete failed(expected affected row count:1,actual affected row count:0).Possible causes:the row was modified or deleted by another user,or a trigger is reporting misleading row count
其中在方法m_Access.Save()中是这样写的:
public void Save(A a)
{
if(a.主键在数据库中存在)
Session.Update(a);
else
Session.Save(a);
}
请教各位大虾这是什么原因引起的呢,应该如何解决呢???急啊,还望各位大虾指点指点,先在此谢谢啦!!!!
[解决办法]
跟踪一下Save过程,看是执行了Update还是Save动作。