Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
会话关闭时的NHibernate事务管理_Nhibernate_Transactions - Fatal编程技术网

会话关闭时的NHibernate事务管理

会话关闭时的NHibernate事务管理,nhibernate,transactions,Nhibernate,Transactions,如果这是重复的,我提前道歉,但是我环顾了一下,没有找到这个问题 假设我有一个NHibernate会话,其中有一个事务。如果关闭会话,是否可以安全地假设事务已提交/回滚(取决于事务中发生的具体情况) 谢谢大家! 通常,如果在该会话中创建会话和事务,所做的更改(如果有)不会影响基础数据库,除非发出提交。否则,事务将回滚。根据我对您案例的理解,您没有发出提交,因此您的事务将回滚。来自: ITransaction在启动时将执行隐式回滚 已释放,除非已显式调用提交或回滚 发生。此隐式回滚可能表示缺少对的调

如果这是重复的,我提前道歉,但是我环顾了一下,没有找到这个问题

假设我有一个NHibernate会话,其中有一个事务。如果关闭会话,是否可以安全地假设事务已提交/回滚(取决于事务中发生的具体情况)


谢谢大家!

通常,如果在该会话中创建会话和事务,所做的更改(如果有)不会影响基础数据库,除非发出提交。否则,事务将回滚。根据我对您案例的理解,您没有发出提交,因此您的事务将回滚。

来自:

ITransaction在启动时将执行隐式回滚 已释放,除非已显式调用提交或回滚 发生。此隐式回滚可能表示缺少对的调用 承诺,就这样吧。如果你 如果要回滚,请显式执行。你的代码将更容易理解 明白


您的会话是由执行提交或回滚的同一线程关闭的吗?虽然它都是同一线程,但我想我要问的是,如果我关闭会话,除了最初创建它之外,对事务不做任何操作,会发生什么情况。只是要澄清一下,如果我正在处理会话,然后事务被回滚,然后被释放,只有在这之后会话才会被释放。对吗?非常感谢。