Я хочу вставить много строк в таблицу, которая автоматически генерирует ключи. JDBC не гарантирует, что получение сгенерированных ключей будет работать при пакетном обновлении.
It is implementation-defined as to whether getGeneratedKeys will return
generated values after invoking the executeBatch method.
(Спецификация JDBC 4.0 2006 г., стр. 135).
У меня есть два варианта. Вставьте каждую строку отдельно и получите ключ. Или выполните пакетную вставку, а затем запросите ключи.
Чтобы избежать повторного запроса нескольких ключей, я мог бы использовать этот подход здесь . Имея, например. 5 готовых заявлений с разными размерами. А затем разбить мой «пакетный запрос» на наименьший возможный оператор.
Какой метод быстрее?