Я знаю, как создать базовый пользовательский проверяемое исключение, но я хочу, чтобы иметь возможность создать исключение, которое проверяет следующее:Создание выборочного исключения SQL в java?
- я в основном имеют несколько таблиц в БД, в этой БД у меня есть таблица сообщение с сообщением 2 очереди и очередью. Я могу только ввести сообщение с номером очереди, если этот номер очереди существует в таблице queue_table (т.е. концепция внешнего ключа). Я хочу иметь возможность проверить, что если человек возвращает самое верхнее сообщение из очереди (в сообщении таблицы) (т. Е. Возвращает самую верхнюю строку с определенным номером очереди), существует номер очереди в таблице queue_table. Если он не хочет, чтобы он вызывал исключение QueueDoesNotExistException. Без исключения запрос на получение сообщений из несуществующей очереди в queue_table дает мне null, поэтому я не уверен, что существующее исключение будет полезно.
Так у меня есть следующие:
package asl.exceptions;
public class QueueDoesNotExistException extends Exception {
public QueueDoesNotExistException(){
}
}
Я не знаю, как справиться с этим, я вмятина найти какие-либо ресурсы для этого, или я смотрю в неправильном месте?
Я прочитал это: https://docs.oracle.com/javase/tutorial/jdbc/basics/sqlexception.html
Но впадина считают полезным.
Вы пытаетесь выполнить работу на прикладном уровне, который должен быть выполнен в базе данных. Вы не хотите «концепции внешнего ключа *», а скорее являются подлинным внешним ключом. С подходящим ограничением на месте и обеспечиваемым базой данных, прикладному уровню не потребуется выполнять тест, такой как вы вообще описываете. –
Как предлагает Джон, комбинация ограничений «NOT NULL» и «FOREIGN KEY» против столбца будет достаточной для предотвращения повреждения данных. –
@john Я понимаю, что вы говорите, но я не знаю, как это сделать, вы видите, что у меня есть ограничение внешнего ключа, но это не мешает запросу. Например, если у вас есть серия строк и я запрашиваю первое сообщение в очереди 12, но очередь 12 еще не существует, как бы устранить это ограничение NULL/external key? – LoveMeow