Mahrukh Saeed
Mahrukh Saeed

Reputation: 21

How do i check if record already exists use same record else create in java using spring boot

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"
}

`

Upvotes: 1

Views: 108

Answers (1)

Ankit Dabhi
Ankit Dabhi

Reputation: 58

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

Upvotes: 1

Related Questions