2 votes

@Transactional n'est pas rollback dans spring boot

J'ai l'application Spring Boot avec la méthode suivante :

@Transactional(rollbackOn = Exception.class)
    private void saveAndUpdatepMSTAndRollUpEntries(pMST newpMSTEntry,
                                                           pMST existingpMSTEntry,
                                                           List<sPTrans> sPTranss,
                                                           List<sPTrans> sPTransUpdatedFlagList) {

        if(!ObjectUtils.isEmpty(existingpMSTEntry))
            databaseService.deleteProcessedpMST(existingpMSTEntry);
        if(!CollectionUtils.isEmpty(sPTransUpdatedFlagList))
            databaseService.saveProcessedsPTransFeedWithUpdatedFlag(sPTransUpdatedFlagList);
        if(!ObjectUtils.isEmpty(newpMSTEntry))
            databaseService.saveProcessedpMSTTableEntry(newpMSTEntry);
    }

et mon service de base de données contient le code suivant :

public class DatabaseService {

    private PosMonthlyStRepository posMonthlyStRepository;
    private ScmsaPosTransRollupRepository scmsaPosTransRollupRepository;

    public DatabaseService(PosMonthlyStRepository posMonthlyStRepository) {
        this.posMonthlyStRepository = posMonthlyStRepository;

    }

    public void deleteProcessedpMST(pMST objpMST){
        posMonthlyStRepository.delete(objpMST);
    }
   public void saveProcessedsPTransFeedWithUpdatedFlag(List<sPTrans> sPTransssPTransUpdatedFlagList) {
        scmsaPosTransRollupRepository.save(sPTransUpdatedFlagList);
    }

    public void saveProcessedpMSTTableEntry((pMST objpMST)  {
        posMonthlyStRepository.save(objpMST);
    }
 }

Mais à chaque fois que l'exception se produit, la transaction n'est pas annulée. Quelqu'un peut-il me dire ce qui ne va pas ici ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X