Я использую Play Framework и имею следующий код:
import org.hibernate.exception.ConstraintViolationException;
...
public class AuthorService extends Controller
...
public static void delete(Long id)
{
Author author = Author.findById(id);
if(author == null) {
renderError("Attempt to delete author has failed! The entry could not be found.", 500);
}
try {
author.delete();
} catch (ConstraintViolationException e) {
renderError("A foreign key violation exception was thrown trying to delete <b>" + author.name + "</b>!", 500);
}
renderGSON(jobDescription);
}
...
}
Я не использую каскад для удаления записи, так как для сторонних элементов должна быть установлена запись, выбраннаяпользователя позже.
Моя проблема в том, что ContraintViolationException никогда не перехватывается, но моя среда IDE сообщает об этом?Почему это?Я хочу поймать это, разобраться с этим и продолжить приложение как обычно.