@Override public final Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); final int databaseMajorVersion = info.getDatabaseMajorVersion(); final int databaseMinorVersion = info.getDatabaseMinorVersion(); if ( nameToMatch.equalsIgnoreCase( databaseName ) && ( majorVersionToMatch == NO_VERSION || majorVersionToMatch == databaseMajorVersion ) && ( minorVersionToMatch == NO_VERSION || minorVersionToMatch == databaseMinorVersion ) ) { try { return (Dialect) dialectClass.newInstance(); } catch (HibernateException e) { // conceivable that the dialect ctor could throw HibernateExceptions, so don't re-wrap throw e; } catch (Throwable t) { throw new HibernateException( "Could not instantiate specified Dialect class [" + dialectClass.getName() + "]", t ); } } return null; } }
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "Apache Derby".equals( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion > 10 || ( majorVersion == 10 && minorVersion >= 7 ) ) { return latestDialectInstance( this ); } else if ( majorVersion == 10 && minorVersion == 6 ) { return new DerbyTenSixDialect(); } else if ( majorVersion == 10 && minorVersion == 5 ) { return new DerbyTenFiveDialect(); } else { return new DerbyDialect(); } } return null; } },
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "ingres".equalsIgnoreCase( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion < 9 ) { return new IngresDialect(); } else if ( majorVersion == 9 ) { if ( minorVersion > 2 ) { return new Ingres9Dialect(); } return new IngresDialect(); } else if ( majorVersion == 10 ) { return new Ingres10Dialect(); } return latestDialectInstance( this ); } return null; } },
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "MySQL".equals( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion < 5 ) { return new MySQLDialect(); } else if ( majorVersion == 5 ) { if ( minorVersion < 5 ) { return new MySQL5Dialect(); } else if ( minorVersion < 7 ) { return new MySQL55Dialect(); } else { return new MySQL57Dialect(); } } return latestDialectInstance( this ); } return null; } },
@Override public Dialect resolveDialect(DialectResolutionInfo info) { if ( info.getDriverName() != null && info.getDriverName().startsWith( "MariaDB" ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion == 10 ) { if ( minorVersion >= 3 ) { return new MariaDB103Dialect(); } else if ( minorVersion == 2 ) { return new MariaDB102Dialect(); } else if ( minorVersion >= 0 ) { return new MariaDB10Dialect(); } return new MariaDB53Dialect(); } else if ( majorVersion > 5 || ( majorVersion == 5 && minorVersion >= 3 ) ) { return new MariaDB53Dialect(); } return new MariaDBDialect(); } return null; } },
final int minorVersion = info.getDatabaseMinorVersion();
@Override public final Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); final int databaseMajorVersion = info.getDatabaseMajorVersion(); final int databaseMinorVersion = info.getDatabaseMinorVersion(); if ( nameToMatch.equalsIgnoreCase( databaseName ) && ( majorVersionToMatch == NO_VERSION || majorVersionToMatch == databaseMajorVersion ) && ( minorVersionToMatch == NO_VERSION || majorVersionToMatch == databaseMinorVersion ) ) { try { return (Dialect) dialectClass.newInstance(); } catch ( HibernateException e ) { // conceivable that the dialect ctor could throw HibernateExceptions, so don't re-wrap throw e; } catch ( Throwable t ) { throw new HibernateException( "Could not instantiate specified Dialect class [" + dialectClass.getName() + "]", t ); } } return null; } }
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "Apache Derby".equals( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion > 10 || ( majorVersion == 10 && minorVersion >= 7 ) ) { return latestDialectInstance( this ); } else if ( majorVersion == 10 && minorVersion == 6 ) { return new DerbyTenSixDialect(); } else if ( majorVersion == 10 && minorVersion == 5 ) { return new DerbyTenFiveDialect(); } else { return new DerbyDialect(); } } return null; } },
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "ingres".equalsIgnoreCase( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion < 9 ) { return new IngresDialect(); } else if ( majorVersion == 9 ) { if ( minorVersion > 2 ) { return new Ingres9Dialect(); } return new IngresDialect(); } else if ( majorVersion == 10 ) { return new Ingres10Dialect(); } return latestDialectInstance( this ); } return null; } },
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "MySQL".equals( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion < 5 ) { return new MySQLDialect(); } else if ( majorVersion == 5 ) { if ( minorVersion < 5 ) { return new MySQL5Dialect(); } else if ( minorVersion < 7 ) { return new MySQL55Dialect(); } else { return new MySQL57Dialect(); } } return latestDialectInstance( this ); } return null; } },
@Override public Dialect resolveDialect(DialectResolutionInfo info) { if ( info.getDriverName() != null && info.getDriverName().startsWith( "MariaDB" ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion == 10 ) { if ( minorVersion >= 3 ) { return new MariaDB103Dialect(); } else if ( minorVersion == 2 ) { return new MariaDB102Dialect(); } else if ( minorVersion >= 0 ) { return new MariaDB10Dialect(); } return new MariaDB53Dialect(); } else if ( majorVersion > 5 || ( majorVersion == 5 && minorVersion >= 3 ) ) { return new MariaDB53Dialect(); } return new MariaDBDialect(); } return null; } },
final int minorVersion = info.getDatabaseMinorVersion();