I know that nhibernate doesnt support nested transactions. 

Let's say that I got something like this:

1. UserService.BeginTransaction (on current session)
2. UserService.Save
3. UserService->FeedService
	1. FeedService.BeginTransaction (on current session)
	2. FeedService.Save
	3. FeedService.Commit (on the returned transaction in #3.1)
4. UserService->AddressService
	1. AddressService.BeginTransaction (on current session)
	2. AddressService.Save
	3. AddressService.Commit (on the returned transaction in #4.1)
5. UserService.Commit (on the returned transaction in #1)

What happens when commit is invoked in #3.3, is the transaction commited? I need everything to either succeed or fail.