Skip to content

Commit c95e8ea

Browse files
authored
Merge pull request #74 from domaframework/execptiontranslator
Return UncategorizedSQLException if fail to translate
2 parents 6431f61 + 66705cb commit c95e8ea

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

doma-spring-boot-core/src/main/java/org/seasar/doma/boot/DomaPersistenceExceptionTranslator.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,24 @@
1717

1818
import java.sql.SQLException;
1919

20-
import org.seasar.doma.jdbc.*;
21-
import org.springframework.dao.*;
20+
import org.seasar.doma.jdbc.JdbcException;
21+
import org.seasar.doma.jdbc.NoResultException;
22+
import org.seasar.doma.jdbc.NonSingleColumnException;
23+
import org.seasar.doma.jdbc.NonUniqueResultException;
24+
import org.seasar.doma.jdbc.OptimisticLockException;
25+
import org.seasar.doma.jdbc.ResultMappingException;
26+
import org.seasar.doma.jdbc.SqlExecutionException;
27+
import org.seasar.doma.jdbc.UniqueConstraintException;
28+
import org.seasar.doma.jdbc.UnknownColumnException;
29+
import org.springframework.dao.DataAccessException;
30+
import org.springframework.dao.DuplicateKeyException;
31+
import org.springframework.dao.EmptyResultDataAccessException;
32+
import org.springframework.dao.IncorrectResultSizeDataAccessException;
33+
import org.springframework.dao.OptimisticLockingFailureException;
34+
import org.springframework.dao.TypeMismatchDataAccessException;
35+
import org.springframework.dao.UncategorizedDataAccessException;
2236
import org.springframework.dao.support.PersistenceExceptionTranslator;
37+
import org.springframework.jdbc.UncategorizedSQLException;
2338
import org.springframework.jdbc.support.SQLExceptionTranslator;
2439

2540
/**
@@ -63,7 +78,8 @@ public DataAccessException translateExceptionIfPossible(RuntimeException ex) {
6378
if (ex instanceof SqlExecutionException) {
6479
sql = ((SqlExecutionException) ex).getRawSql();
6580
}
66-
return translator.translate(ex.getMessage(), sql, e);
81+
DataAccessException dae = translator.translate(ex.getMessage(), sql, e);
82+
return (dae != null ? dae : new UncategorizedSQLException(ex.getMessage(), sql, e));
6783
}
6884

6985
return new UncategorizedDataAccessException(ex.getMessage(), ex) {

0 commit comments

Comments
 (0)