@Transactional (distribution = distribution .REQUIRED May solve your problem.
Suppose your Impl has an Excecute.Inside Excecute method, there are other methods M1 (), M2 (), M3 (), M4 (), M5 () .
Maybe you are trying to say that for M1 (), M2 (). M3 (). Methods M4 () Db operation is succedded and finally for M5 () it throws some exception, and M1 () - M5 () all Operation db must be rolled back
Execute(){ M1(); M2(); M3(); M4(); M5();
if (Any error in the transaction of any methods will be rolled back). As a single object, trasaction is used for all ie methods (from M1 to M5) when @Transactional is used (distribution = Distribution .REQUIRED.
}
source share