It also took into account that you might have forgotten to, or purposely didn't commit it before returning a result from the controller. In this case, it is actually mandatory to roll back (especially if there was a SQL error that was not panicked up the chain).