В моей базе данных есть несколько таблиц, и я хочу получить информацию о неправильных запросах к базе данных. В случае, если я пытаюсь сохранить сущность с неправильными внешними ключами, я хочу получить подробную информацию об этих ключах.
Например:
2020-03-25 18:37:37.595 ERROR 9788 --- [nio-8090-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: insert or update on table "student" violates foreign key constraint "student_fkey_to_specialty"
Detail: Key (specialtykey)=(2) is not present in table "specialty".
Я попытался решить с помощью этого кода , но я получаю другую информацию.
could not execute statement; SQL [n/a]; constraint [student_fkey_to_specialty]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
мой код:
@PostMapping
public void saveStudent(@RequestBody StudentDTO studentDTO) {
if(studentDTO!=null){
try {
studentService.save(studentDTO);
}catch (Exception|Error e){
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getLocalizedMessage(),e );
}
}
}