我正在尝试使用 Spring Data JDBC 和 Spring Boot 连接到 Firebird 数据库。我使用 Spring Tools 创建了一个简单的应用程序。Spring Data JDBC 无法识别方言。我认为问题在于DialectResolver它不支持 Firebird。
private static Dialect getDialect(Connection connection) throws SQLException {
DatabaseMetaData metaData = connection.getMetaData();
String name = metaData.getDatabaseProductName().toLowerCase(Locale.ENGLISH);
if (name.contains("hsql")) {
return HsqlDbDialect.INSTANCE;
}
if (name.contains("h2")) {
return H2Dialect.INSTANCE;
}
if (name.contains("mysql")) { // catches also mariadb
return new MySqlDialect(getIdentifierProcessing(metaData));
}
if (name.contains("postgresql")) {
return PostgresDialect.INSTANCE;
}
if (name.contains("microsoft")) {
return SqlServerDialect.INSTANCE;
}
if (name.contains("db2")) {
return Db2Dialect.INSTANCE;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
我是 …