这个问题在 kotlin-orm/ktorm#376 描述过,问题的根因在于 org.ktorm.database.Database 的 connectWithSpringSupport 方法中使用的 exceptionTranslator 的类型是 public val exceptionTranslator: ((SQLException) -> Throwable)? = null,,但是 { ex -> translator.translate("Ktorm", null, ex) } 中 translator.translate("Ktorm", null, ex) 的 translator 是 spirng-jdbc 的 SQLErrorCodeSQLExceptionTranslator,而 SQLErrorCodeSQLExceptionTranslator 的 translate 返回的类型是允许 @nullable 的,所以导致了报错
kotlin-orm/ktorm#376 中也提出了解决方案,exceptionTranslator 的类型应该改成
public val exceptionTranslator: ((SQLException) -> Throwable?)? = null,
这个问题在 kotlin-orm/ktorm#376 描述过,问题的根因在于 org.ktorm.database.Database 的 connectWithSpringSupport 方法中使用的 exceptionTranslator 的类型是 public val exceptionTranslator: ((SQLException) -> Throwable)? = null,,但是 { ex -> translator.translate("Ktorm", null, ex) } 中 translator.translate("Ktorm", null, ex) 的 translator 是 spirng-jdbc 的 SQLErrorCodeSQLExceptionTranslator,而 SQLErrorCodeSQLExceptionTranslator 的 translate 返回的类型是允许 @nullable 的,所以导致了报错
kotlin-orm/ktorm#376 中也提出了解决方案,exceptionTranslator 的类型应该改成
public val exceptionTranslator: ((SQLException) -> Throwable?)? = null,