From: David Gageot Date: Tue, 10 Jul 2012 14:52:14 +0000 (+0200) Subject: Make sure MyBatis is not configured to use generated keys in batch inserts X-Git-Tag: 3.2~152 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=952d0986899adc2d28d1853a718a004e179fd34b;p=sonarqube.git Make sure MyBatis is not configured to use generated keys in batch inserts Fix for Oracle --- diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/BatchSession.java b/sonar-core/src/main/java/org/sonar/core/persistence/BatchSession.java index 1b730018483..d7f7211feb9 100644 --- a/sonar-core/src/main/java/org/sonar/core/persistence/BatchSession.java +++ b/sonar-core/src/main/java/org/sonar/core/persistence/BatchSession.java @@ -20,8 +20,8 @@ package org.sonar.core.persistence; import org.apache.ibatis.executor.BatchResult; +import org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator; import org.apache.ibatis.executor.keygen.KeyGenerator; -import org.apache.ibatis.executor.keygen.NoKeyGenerator; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.session.Configuration; import org.apache.ibatis.session.ResultHandler; @@ -122,7 +122,7 @@ public final class BatchSession implements SqlSession { MappedStatement mappedStatement = configuration.getMappedStatement(statement); if (null != mappedStatement) { KeyGenerator keyGenerator = mappedStatement.getKeyGenerator(); - if (!(keyGenerator instanceof NoKeyGenerator)) { + if (keyGenerator instanceof Jdbc3KeyGenerator) { throw new IllegalStateException("Batch updates cannot use generated keys"); } }