Я пытаюсь выполнить множественную вставку, используя функцию unnest из Postgresql, чтобы вывести список таких данных tip из @krokodilko.
@Modifying(clearAutomatically = true)
@Query(value="insert into training_exercise(training_id, exercise_id) SELECT ?1, x FROM unnest(ARRAY?2) x ",nativeQuery=true)
void addExercises(Long id, List<Long> exercisesIds);
Проблема в том, что созданный sql выглядит примерно так:
insert into training_exercise(training_id, exercise_id) SELECT 1, x FROM unnest(ARRAY(1,2,3)) x
Это выдает ошибку, причина в том, что для использования массива необходимо "[", а не"(".
Я нашел обходной путь, модифицирующий запрос следующим образом:
insert into training_exercise(training_id, exercise_id) SELECT ?1, exercises.id FROM (select exercises.id from exercises where exercises.id in ?2) as exercises.
Есть ли способ достичь моего первоначального намерения с помощью стратегии "гнезда"?