Как вставить в пакетном режиме 2 таблицы со многими отношениями с Springboot?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как вставить в пакетном режиме 2 таблицы со многими отношениями с Springboot?

Сообщение Anonymous »

У меня есть 2 таблицы со связью «многие-многие».
Что сделано до сих пор, я использую jpa (репозитории) для вставки списка этих таблиц A, B и A_B.
Проблема в том, что использование jpa поскольку огромный набор данных не оптимизирован, поэтому у меня возникла идея использовать jdbcTemplate.batchUpdate вот так:

Код: Выделить всё

int [][] insertAResults = jdbcTemplate.batchUpdate(
sqlQueryA,
List,
List.size(),
(PreparedStatement ps, A a) ->{
ps.setInt(1,a.getId());
...
}
);
int [][] insertBResults = jdbcTemplate.batchUpdate(
sqlQueryB,
List,
List.size(),
(PreparedStatement ps, B b) ->{
ps.setInt(1,b.getId());
...
}
);
int [][] insertA_BResults = jdbcTemplate.batchUpdate(
sqlQueryA_B,
List,
List.size(),
(PreparedStatement ps, Map ids) ->{
ps.setInt(1,ids.keySet().stream().findFirst().get());
ps.setInt(1,ids.values().stream().findFirst().get());
}
);
Затем мне нужно сопоставить A'id и B'id для вставки в пакетное обновление.
Проблема состоит в том, чтобы использовать прямую связь между обеими таблицами (я использую другую таблица, чтобы найти соответствие им, и она находится внутри 3-х вложенных циклов for, поэтому я думаю, что потенциально заработанная оптимизация времени может быть потеряна).
Итак, как я могу оптимизировать вставку 2 два стола и их общий стол ?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -springboo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»