会话关闭时的NHibernate事务管理
如果这是重复的,我提前道歉,但是我环顾了一下,没有找到这个问题 假设我有一个NHibernate会话,其中有一个事务。如果关闭会话,是否可以安全地假设事务已提交/回滚(取决于事务中发生的具体情况)会话关闭时的NHibernate事务管理,nhibernate,transactions,Nhibernate,Transactions,如果这是重复的,我提前道歉,但是我环顾了一下,没有找到这个问题 假设我有一个NHibernate会话,其中有一个事务。如果关闭会话,是否可以安全地假设事务已提交/回滚(取决于事务中发生的具体情况) 谢谢大家! 通常,如果在该会话中创建会话和事务,所做的更改(如果有)不会影响基础数据库,除非发出提交。否则,事务将回滚。根据我对您案例的理解,您没有发出提交,因此您的事务将回滚。来自: ITransaction在启动时将执行隐式回滚 已释放,除非已显式调用提交或回滚 发生。此隐式回滚可能表示缺少对的调
谢谢大家! 通常,如果在该会话中创建会话和事务,所做的更改(如果有)不会影响基础数据库,除非发出提交。否则,事务将回滚。根据我对您案例的理解,您没有发出提交,因此您的事务将回滚。来自: ITransaction在启动时将执行隐式回滚 已释放,除非已显式调用提交或回滚 发生。此隐式回滚可能表示缺少对的调用 承诺,就这样吧。如果你 如果要回滚,请显式执行。你的代码将更容易理解 明白
您的会话是由执行提交或回滚的同一线程关闭的吗?虽然它都是同一线程,但我想我要问的是,如果我关闭会话,除了最初创建它之外,对事务不做任何操作,会发生什么情况。只是要澄清一下,如果我正在处理会话,然后事务被回滚,然后被释放,只有在这之后会话才会被释放。对吗?非常感谢。