diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java index c6d67c7a7c3a..a2d976db9ab7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java @@ -114,7 +114,7 @@ public SQLExceptionTranslator apply(ExecuteContext context) { private SQLExceptionTranslator apply(SQLDialect dialect) { String dbName = getSpringDbName(dialect); return (dbName != null) ? new SQLErrorCodeSQLExceptionTranslator(dbName) - : new SQLStateSQLExceptionTranslator(); + : new SQLErrorCodeSQLExceptionTranslator(); } private String getSpringDbName(SQLDialect dialect) { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java index c4c36b20ff86..1f6d7cd7c1d1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.jooq; import java.sql.SQLException; +import java.sql.SQLSyntaxErrorException; import java.util.function.Function; import org.jooq.Configuration; @@ -94,11 +95,18 @@ private ExecuteContext mockContext(SQLDialect dialect, SQLException sqlException static Object[] exceptionTranslatesSqlExceptions() { return new Object[] { new Object[] { SQLDialect.DERBY, sqlException("42802") }, new Object[] { SQLDialect.H2, sqlException(42000) }, + new Object[] { SQLDialect.H2, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.HSQLDB, sqlException(-22) }, + new Object[] { SQLDialect.HSQLDB, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.MARIADB, sqlException(1054) }, + new Object[] { SQLDialect.MARIADB, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.MYSQL, sqlException(1054) }, + new Object[] { SQLDialect.MYSQL, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.POSTGRES, sqlException("03000") }, - new Object[] { SQLDialect.SQLITE, sqlException("21000") } }; + new Object[] { SQLDialect.POSTGRES, new SQLSyntaxErrorException() }, + new Object[] { SQLDialect.SQLITE, new SQLSyntaxErrorException() }, + new Object[] { SQLDialect.SQLITE, sqlException("21000") }, + }; } private static SQLException sqlException(String sqlState) {