Итак, я создаю небольшое приложение для футбольной организации, которое должно иметь возможность добавлять команды в базу данных.Java вставляет данные в базу данных с помощью внешнего ключа
Моя база данных имеет следующие ERD:
У меня есть следующий код для добавления команд в моей базе данных:
public void toevoegenPloeg(Ploeg ploeg) throws DBException, ApplicationException {
//connectie tot stand brengen
System.out.println(ploeg.getTrainerID());
try (Connection connection = ConnectionManager.getConnection();) {
//statement opstellen
try (PreparedStatement statement = connection.prepareStatement("insert into ploeg (naam, niveau, trainer_id) values(?,?,?)");) {
statement.setString(1, ploeg.getNaam());
statement.setString(2, ploeg.getNiveau());
statement.setInt(3, ploeg.getTrainerID());
statement.execute();
} catch (SQLException ex) {
throw new DBException("SQL-exception in de toevoegenPloeg-methode - statement" + ex);
}
} catch (SQLException ex) {
throw new DBException("SQL-exception in de toevoegenPloeg-methode - connectie " + ex);
}
}
Это должно быть возможным, чтобы добавить команду без тренера , Как это:
PloegTrans PT = new PloegTrans();
PersoonTrans PeT = new PersoonTrans();
Ploeg ploeg1 = new Ploeg();
ploeg1.setNiveau("U9");
PT.ploegToevoegen(ploeg1);
Trainer_id является ИНТ и потому, что я не определил trainer_id. trainer_id становится по умолчанию в междунар, 0.
Но я получаю исключение внешних ключей, так как база данных ищет тренера с идентификатором 0.
Как я могу преодолеть это?
Как инициализировать мой int как «null»?