In my app, there are multiple steps where many commits to the database will be made sequentially through multiple methods.
A -> B -> C
First, "nested" transactions, in the sense that there are multiple running transactions depending on each other, is not supported, afaik.
propagation=REQUIRED means that all methods with that propagation will:
This means that in your scenario, a failure in
F would rollback the entire transaction (because it is a single transaction, started by
A, and propagated to other methods)