如果会话关闭,NHibernate事务管理

时间:2011-11-07 21:16:29

标签: nhibernate transactions

我提前道歉,如果这是重复的,但我环顾四周,找不到这个问题。

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

谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

来自NHForge.org

  

ITransaction将执行隐式回滚   处理,除非已经明确调用Commit或Rollback   发生了。此隐式回滚可以指示缺少调用   提交,所以generates an alert in NHibernate Profiler。如果你   打算回滚,明确地做。您的代码将更容易   理解。