Reputation: 21
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
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