Я пытаюсь сохранить экземпляр HashMap ReQuiredSkills с большим количеством элементов в простой таблице «Умения» (BOOLEAN). Моя цель - выполнить итерацию по данной карте и для каждого ключа == tables.column_name установить значение карты (true или false). Есть фрагмент кода:
{statement=connection.prepareStatement("select * from skills limit 1");
ResultSetMetaData resultSetMetaData =resultSet.getMetaData();
statement=connection.prepareStatement("INSERT INTO skills values(" +
"default,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
int countColumn = resultSetMetaData.getColumnCount();
for (int i = 2; i < countColumn; i++ ) {
String name = resultSetMetaData.getColumnName(i);
System.out.println(name.toUpperCase());
if(vacancy.getSkillsRequired().get(name.toUpperCase()) == true){
statement.setBoolean(i, true);
} else {
statement.setBoolean(i, false);
}
}
System.out.println(vacancy.getSkillsRequired());
statement.executeUpdate();*/
connection.commit();}
Есть отношение к вакансии: навыки от 1 до 1, у меня нет проблем с сохранением вакансии, которая PRIMARY KEY (id) является FOREIGN KEY для таблицы навыков. Итак, я пытаюсь извлечь имя столбца с помощью объекта ResulSetMetaData, установить значение по умолчанию для skill_id, выполнить итерацию по экземпляру hashmaprequredSkills и установить значения, обязательные для этой вакансии.