2015-10-07 18 views
1

Подготовленный документ с ключами, сгенерированными с возвратом, возвращает автоматически сгенерированный ключ для отдельной вставки, но не работает для пакетной вставки. Есть ли способ получить автоматически генерируемые значения во время самой вставки.PreparedStatement.RETURN_GENERATED_KEYS не работает с пакетной вставкой

PreparedStatement ps = connection.prepareStatement("insert into table() values()",PreparedStatement.RETURN_GENERATED_KEYS); 
    { 
    ps.addBatch(); 
    } 
    ps.executeBatch(); 
    ResultSet rs = ps.getGeneratedKeys(); 
    List<Long> ids = new ArrayList<Long>(); 
    while(rs.next()) { 
    ids.add(rs.getLong(1)); 
    } 

ответ

1

Есть ли способ, чтобы получить автоматически сгенерированных значений во время самой вставки.

No. После ps.executeBatch() вам нужно вызвать ps.getGeneratedKeys() и через цикл ResultSet он возвращается.

+0

Да, я сделал то же самое, но не возвращал автоматически сгенерированные значения. –

+0

была проблема с моим запросом sql, я исправил его, теперь он работает. благодаря –

Смежные вопросы