nhibernate がネストされたトランザクションをサポートしていないことは知っています。
私がこのようなものを得たとしましょう:
- UserService.BeginTransaction (現在のセッションで)
- UserService.Save
- UserService->FeedService
- FeedService.BeginTransaction (現在のセッションで)
- FeedService.Save
- FeedService.Commit (#3.1 で返されたトランザクションで)
- UserService->AddressService
- AddressService.BeginTransaction (現在のセッションで)
- AddressService.Save
- AddressService.Commit (#4.1 で返されたトランザクションについて)
- UserService.Commit (#1 で返されたトランザクションで)
#3.3 でコミットが呼び出されるとどうなりますか?トランザクションはコミットされますか? 成功するか失敗するかのいずれかが必要です。