An `OrderService` method, annotated with `@Transactional`, calls a public method in an `InventoryService` bean which is annotated with `@Transactional(propagation = Propagation.REQUIRES_NEW)`. If the `InventoryService` method completes successfully, but an unhandled exception is thrown later within the `OrderService` method, what will be the final state of the database changes?
-
A
All changes from both services will be rolled back.
-
B
Changes made by `InventoryService` will be committed, while changes made by `OrderService` will be rolled back.
-
C
All changes from both services will be committed because the exception was unhandled.
-
D
The outcome is non-deterministic and depends on the database isolation level.