diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java index 18c1051a0..55cf5b19a 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java @@ -157,7 +157,7 @@ public class DatabasePlatformFactory { final int minorVersion = metaData.getDatabaseMinorVersion(); if (dbProductName.contains("oracle")) { - return new OraclePlatform(); + return oracleVersion(majorVersion); } else if (dbProductName.contains("microsoft")) { throw new IllegalArgumentException("For SqlServer please explicitly choose either sqlserver16 or sqlserver17 as the platform via DatabaseConfig.setDatabasePlatformName. Refer to issue #1340 for more details"); } else if (dbProductName.contains("h2")) { @@ -188,6 +188,10 @@ public class DatabasePlatformFactory { return new DatabasePlatform(); } + private DatabasePlatform oracleVersion(int majorVersion) { + return majorVersion < 12 ? new Oracle11Platform() : new OraclePlatform(); + } + private DatabasePlatform mysqlVersion(int majorVersion, int minorVersion) { if (majorVersion <= 5 && minorVersion <= 5) { return new MySql55Platform();