Я работаю на примере Spring Boot Rest MongoDB
.В этом примере у меня есть коллекция Student
, где emailId
- уникальное поле (я применил индексирование, где unique=true
).Когда кто-то создает нового ученика и использует emailId
, уже присутствующий в Mongo, я должен получить DuplicateKeyException
.Но каким-то образом бывший объект не является частью DuplicateKeyException
.Почему не экземпляр DuplicateKeyException?
try {
studentRepository.save(student);
} catch (Exception ex) {
if(ex instanceof DuplicateKeyException) {
throw new DuplicateResourceFoundException("studentName already present");
}
throw new DuplicateResourceFoundException("studentName already present");
//throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, env.getProperty("error.db.exception"), ex);
}