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 ?