我提前道歉,如果这是重复的,但我环顾四周,找不到这个问题。
假设我有一个NHibernate会话并在其中,我有一个交易。如果我关闭会话,是否可以安全地假设事务被提交/回滚(取决于事务中发生的具体情况)?
谢谢!
答案 0 :(得分:3)
通常,如果在该会话中创建会话和事务,则所做的更改(如果有)不会影响基础数据库,除非发出提交。否则,将回滚事务。根据我的理解,您不会发布提交,因此您的交易将被回滚。
答案 1 :(得分:1)
来自NHForge.org:
ITransaction将执行隐式回滚 处理,除非已经明确调用Commit或Rollback 发生了。此隐式回滚可以指示缺少调用 提交,所以generates an alert in NHibernate Profiler。如果你 打算回滚,明确地做。您的代码将更容易 理解。