Java, Spring - массовая вставка с использованием NamedParameterJdbcTemplate
Я пытаюсь сделать массовую вставку, используя namedParameterJdbcTemplate. Вот что я делаю:
SqlParameterSource[] userSubjects = SqlParameterSourceUtils.createBatch(getStudentSubjectMap(subjectIds, user.getId()));
namedParameterJdbcTemplate.batchUpdate(QueriesUser.CREATE_STUDENT_SUBJECT_MAPPING, userSubjects);
Вот моя функция, которая дает массив карт
private Map<String, Object>[] getStudentSubjectMap(List<Integer> subjectIds, String userId) {
@SuppressWarnings("unchecked")
Map<String, Object>[] maps = new HashMap[subjectIds.size()];
for(int index = 0; index < subjectIds.size(); index++) {
Map map = new HashMap<String, String>();
map.put(InfraConstants.USER_ID, userId);
map.put(InfraConstants.SUBJECT_ID, subjectIds.get(index));
maps[index] = map;
}
return maps;
}
После долгих поисков в интернете и прочтения документации я не нашел другой лучшей альтернативы, чем эта.
Я делаю это правильно? Это лучший способ сделать это? Любые улучшения в этом очень полезны.