1

I want to check if user alraedy exits use same data else create new record

`

@EventHandler
@Override
public void on(ContentSaveUserEvent event) {
        var existingRecord =classesCurriculumMapRepository.findByClassIdAndCurriculumMapId(Long.valueOf(event.getClassId()), event.getCurriculumMapId());
        if (!existingRecord.isEmpty()) {
            // here i want to use same record if already exits based on classid and curriculummapid
        }
        else {
            Class_CurriculumMap classCurriculumMap= new Class_CurriculumMap();
            classCurriculumMap.setId(new Class_CurriculumMapPK(Long.valueOf(event.getClassId()), event.getCurriculumMapId()));
            classCurriculumMap.setDateLastModified(new Date());
            classCurriculumMap.setUserLastModified(event.getUctx().getUserId());
            classCurriculumMap.setStatus(Status.Active.value);
            classesCurriculumMapRepository.save(classCurriculumMap);
        }
    }
}

`

the query i am using is: `

@Query(value ="select * from class_curriculummap where ClassId =?1 And CurriculumMapId='?2'", nativeQuery = true)
List<Class_CurriculumMap> findByClassIdAndCurriculumMapId(Long classId, String curriculumMapId);

The response i am sending from postman is:

{
            "classId": 1388126554733599886,
            "curriculumMapId":"973BB040ggg16C44C4CA550FA14370499E2"
}

`

1 Answers1

1

Replace your Query with below:

@Query(value ="select exists(select * from class_curriculummap where ClassId =?1 And CurriculumMapId='?2')", nativeQuery = true)
boolean isExists findByClassIdAndCurriculumMapId(Long classId, String curriculumMapId);

For more details, please refer to this article : Check if a row exists, otherwise insert