Buggy code:
@ Service public class ApplicationsStatusServiceImpl implements ApplicationStatusService { private static final Logger LOGGER = LoggerFactory . getLogger ( ApplicationsStatusServiceImpl . class ) ; private FilterApplicationData filterApplicationData ; @ Autowired private ApplicationStatusDao applicationStatusDao ; @ Autowired private CycleMasterDataService cycleMasterDataService ; @ Autowired private ApplicationAssessmentTraceDao assessmentTraceDao ; @ Autowired private PEEvaluationDetailsDao peEvaluationDetailsDao ; @ Autowired private ExpertEvaluationDetailsDao expertEvaluationDetailsDao ; @ Override @ Transactional ( readOnly = true , propagation = Propagation . REQUIRES_NEW ) public List < ApplicationStatusDTO > fetchAllApplicationByStatus ( final ApplicationStatusEnum applicationStatus , Long cycleId ) throws GDEException { } private List < ApplicationStatusDTO > applyFilters ( final List < ApplicationStatusDTO > applicationStatusDTOs ) { } @ Override @ Transactional ( readOnly = false , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public void updateAllApplicationStatus ( final List < ApplicationStatusDTO > applicationStatusDTOs , final ApplicationStatusEnum status ) throws GDEException { } private void updateStatusOfApplication ( final List < ApplicationStatusDTO > applicationStatusDTOs , final ApplicationStatusEnum status ) { } @ Override @ Transactional ( readOnly = false , propagation = Propagation . REQUIRED ) public GdeUser getUserForApplicationId ( final Long appId ) { } @ Override <START_BUG> @ Transactional ( readOnly = false , propagation = Propagation . REQUIRES_NEW ) <END_BUG> public void createApplicationStatus ( GdeUser candidate ) { ApplicationStatus applicationStatus = new ApplicationStatus ( ) ; applicationStatus . setUser ( candidate ) ; applicationStatus . setStatus ( NOT_ASSIGNED ) ; applicationStatusDao . save ( applicationStatus ) ; } @ Override @ Transactional ( readOnly = true , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public List < PreEvaluatorConflictsDto > getPreEvalutorConflictsRecords ( final PaginationDataDTO paginationDataDTO , final PreEvaluatorConflictsDto dto , final Long evaluatorId ) { } @ Override @ Transactional ( readOnly = true , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public ApplicationStatusEnum fetchApplicationStatus ( final Long applicationUserId ) { } @ Override @ Transactional ( readOnly = true , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public ApplicationStatus findAppStatusByUserId ( final Long applicationUserId ) { } @ Override @ Transactional ( readOnly = true , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public List < ExpertConflictsDto > getExpertConflictsRecords ( final PaginationDataDTO paginationDataDTO , final ExpertConflictsDto dto , final Long evaluatorId ) { } @ Override @ Transactional ( readOnly = false , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public void saveOrMerge ( final ApplicationStatus applicationStatus ) { } @ Override @ Transactional ( readOnly = false , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public void reassignApplication ( final Long userId ) { } @ Override @ Transactional ( readOnly = false , propagation = Propagation . REQUIRED , rollbackFor = Exception . class ) public List < ApplicationAssessmentTrace > findMinimumExpertScoreTrace ( final Long applicationStatusId ) { } }

Fix:
@ Transactional ( readOnly = false , propagation = Propagation . REQUIRED )