.
*/
-package org.hibernate.dialect;
+package org.hibernate.community.dialect;
+
+import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect targeting Sybase Adaptive Server Enterprise (ASE) 15 and higher.
@@ -14,7 +16,7 @@ package org.hibernate.dialect;
* @deprecated use {@code SybaseASEDialect(1500)}
*/
@Deprecated
-public class SybaseASE15Dialect extends SybaseASEDialect {
+public class SybaseASE15Dialect extends SybaseASELegacyDialect {
public SybaseASE15Dialect() {
super( DatabaseVersion.make( 15 ) );
diff --git a/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/CommunityDialectSelectorTest.java b/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/CommunityDialectSelectorTest.java
index be8343db65..a88887460c 100644
--- a/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/CommunityDialectSelectorTest.java
+++ b/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/CommunityDialectSelectorTest.java
@@ -17,16 +17,53 @@ public class CommunityDialectSelectorTest {
@Test
public void verifyAllDialectNamingResolve() {
+ testDialectNamingResolution( DB297Dialect.class );
+ testDialectNamingResolution( DB2390Dialect.class );
+ testDialectNamingResolution( DB2390V8Dialect.class );
+
testDialectNamingResolution( Cache71Dialect.class );
testDialectNamingResolution( CUBRIDDialect.class );
+
+ testDialectNamingResolution( DerbyTenFiveDialect.class );
+ testDialectNamingResolution( DerbyTenSixDialect.class );
+ testDialectNamingResolution( DerbyTenSevenDialect.class );
+
testDialectNamingResolution( FirebirdDialect.class );
testDialectNamingResolution( InformixDialect.class );
testDialectNamingResolution( IngresDialect.class );
testDialectNamingResolution( Ingres9Dialect.class );
testDialectNamingResolution( Ingres10Dialect.class );
testDialectNamingResolution( MimerSQLDialect.class );
+
+ testDialectNamingResolution( MariaDB53Dialect.class );
+ testDialectNamingResolution( MariaDB10Dialect.class );
+ testDialectNamingResolution( MariaDB102Dialect.class );
+
+ testDialectNamingResolution( MySQL5Dialect.class );
+ testDialectNamingResolution( MySQL55Dialect.class );
+
+ testDialectNamingResolution( Oracle8iDialect.class );
+ testDialectNamingResolution( Oracle9iDialect.class );
+ testDialectNamingResolution( Oracle10gDialect.class );
+
+ testDialectNamingResolution( PostgreSQL81Dialect.class );
+ testDialectNamingResolution( PostgreSQL82Dialect.class );
+ testDialectNamingResolution( PostgreSQL9Dialect.class );
+ testDialectNamingResolution( PostgreSQL91Dialect.class );
+ testDialectNamingResolution( PostgreSQL92Dialect.class );
+ testDialectNamingResolution( PostgreSQL93Dialect.class );
+ testDialectNamingResolution( PostgreSQL94Dialect.class );
+ testDialectNamingResolution( PostgreSQL95Dialect.class );
+
testDialectNamingResolution( SAPDBDialect.class );
+
+ testDialectNamingResolution( SQLServer2005Dialect.class );
+
testDialectNamingResolution( SybaseAnywhereDialect.class );
+ testDialectNamingResolution( Sybase11Dialect.class );
+ testDialectNamingResolution( SybaseASE15Dialect.class );
+ testDialectNamingResolution( SybaseASE157Dialect.class );
+
testDialectNamingResolution( TeradataDialect.class );
testDialectNamingResolution( TimesTenDialect.class );
}
diff --git a/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/SQLServer2005DialectTestCase.java b/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/SQLServer2005DialectTestCase.java
index 4ed8e0c393..637f0563b8 100644
--- a/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/SQLServer2005DialectTestCase.java
+++ b/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/SQLServer2005DialectTestCase.java
@@ -11,7 +11,6 @@ import java.util.Locale;
import org.hibernate.LockMode;
import org.hibernate.LockOptions;
import org.hibernate.dialect.DatabaseVersion;
-import org.hibernate.dialect.SQLServer2005Dialect;
import org.hibernate.query.spi.Limit;
import org.hibernate.testing.TestForIssue;
diff --git a/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/unit/lockhint/SybaseASE15LockHintsTest.java b/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/unit/lockhint/SybaseASE15LockHintsTest.java
index 3cbc8d07d8..b7898993d7 100644
--- a/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/unit/lockhint/SybaseASE15LockHintsTest.java
+++ b/hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/unit/lockhint/SybaseASE15LockHintsTest.java
@@ -8,7 +8,6 @@ package org.hibernate.community.dialect.unit.lockhint;
import org.hibernate.community.dialect.SybaseASELegacyDialect;
import org.hibernate.dialect.Dialect;
-import org.hibernate.dialect.SybaseASE15Dialect;
import org.hibernate.orm.test.dialect.unit.lockhint.AbstractLockHintTest;
/**
diff --git a/hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/DefaultDialectSelector.java b/hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/DefaultDialectSelector.java
index f7aa51fa96..dd6ae8f943 100644
--- a/hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/DefaultDialectSelector.java
+++ b/hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/DefaultDialectSelector.java
@@ -9,58 +9,35 @@ package org.hibernate.boot.registry.selector.internal;
import java.util.Objects;
import org.hibernate.boot.registry.selector.spi.DialectSelector;
+import org.hibernate.boot.registry.selector.spi.StrategySelectionException;
import org.hibernate.dialect.CockroachDialect;
-import org.hibernate.dialect.DB2390Dialect;
-import org.hibernate.dialect.DB2390V8Dialect;
import org.hibernate.dialect.DB2400Dialect;
import org.hibernate.dialect.DB2400V7R3Dialect;
-import org.hibernate.dialect.DB297Dialect;
import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.DB2iDialect;
import org.hibernate.dialect.DB2zDialect;
import org.hibernate.dialect.DerbyDialect;
-import org.hibernate.dialect.DerbyTenFiveDialect;
-import org.hibernate.dialect.DerbyTenSevenDialect;
-import org.hibernate.dialect.DerbyTenSixDialect;
import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.H2Dialect;
import org.hibernate.dialect.HANACloudColumnStoreDialect;
import org.hibernate.dialect.HANAColumnStoreDialect;
import org.hibernate.dialect.HANARowStoreDialect;
import org.hibernate.dialect.HSQLDialect;
-import org.hibernate.dialect.MariaDB102Dialect;
import org.hibernate.dialect.MariaDB103Dialect;
-import org.hibernate.dialect.MariaDB10Dialect;
-import org.hibernate.dialect.MariaDB53Dialect;
import org.hibernate.dialect.MariaDBDialect;
-import org.hibernate.dialect.MySQL55Dialect;
import org.hibernate.dialect.MySQL57Dialect;
-import org.hibernate.dialect.MySQL5Dialect;
import org.hibernate.dialect.MySQL8Dialect;
import org.hibernate.dialect.MySQLDialect;
-import org.hibernate.dialect.Oracle10gDialect;
import org.hibernate.dialect.Oracle12cDialect;
-import org.hibernate.dialect.Oracle8iDialect;
-import org.hibernate.dialect.Oracle9iDialect;
import org.hibernate.dialect.OracleDialect;
-import org.hibernate.dialect.PostgreSQL81Dialect;
-import org.hibernate.dialect.PostgreSQL82Dialect;
-import org.hibernate.dialect.PostgreSQL91Dialect;
-import org.hibernate.dialect.PostgreSQL92Dialect;
-import org.hibernate.dialect.PostgreSQL93Dialect;
-import org.hibernate.dialect.PostgreSQL94Dialect;
-import org.hibernate.dialect.PostgreSQL95Dialect;
-import org.hibernate.dialect.PostgreSQL9Dialect;
+import org.hibernate.dialect.PostgreSQL10Dialect;
import org.hibernate.dialect.PostgreSQLDialect;
import org.hibernate.dialect.PostgresPlusDialect;
-import org.hibernate.dialect.SQLServer2005Dialect;
import org.hibernate.dialect.SQLServer2008Dialect;
import org.hibernate.dialect.SQLServer2012Dialect;
+import org.hibernate.dialect.SQLServer2016Dialect;
import org.hibernate.dialect.SQLServerDialect;
import org.hibernate.dialect.SpannerDialect;
-import org.hibernate.dialect.Sybase11Dialect;
-import org.hibernate.dialect.SybaseASE157Dialect;
-import org.hibernate.dialect.SybaseASE15Dialect;
import org.hibernate.dialect.SybaseASEDialect;
import org.hibernate.dialect.SybaseDialect;
@@ -82,11 +59,10 @@ public class DefaultDialectSelector implements DialectSelector {
case "DB2z":
return DB2zDialect.class;
case "DB297":
- return DB297Dialect.class;
+ return findCommunityDialect( name );
case "DB2390":
- return DB2390Dialect.class;
case "DB2390V8":
- return DB2390V8Dialect.class;
+ return findCommunityDialect( name );
case "DB2400":
return DB2400Dialect.class;
case "DB2400V7R3":
@@ -94,11 +70,9 @@ public class DefaultDialectSelector implements DialectSelector {
case "Derby":
return DerbyDialect.class;
case "DerbyTenFive":
- return DerbyTenFiveDialect.class;
case "DerbyTenSix":
- return DerbyTenSixDialect.class;
case "DerbyTenSeven":
- return DerbyTenSevenDialect.class;
+ return findCommunityDialect( name );
case "H2":
return H2Dialect.class;
case "HANACloudColumnStore":
@@ -112,19 +86,16 @@ public class DefaultDialectSelector implements DialectSelector {
case "MariaDB":
return MariaDBDialect.class;
case "MariaDB53":
- return MariaDB53Dialect.class;
case "MariaDB10":
- return MariaDB10Dialect.class;
case "MariaDB102":
- return MariaDB102Dialect.class;
+ return findCommunityDialect( name );
case "MariaDB103":
return MariaDB103Dialect.class;
case "MySQL":
return MySQLDialect.class;
case "MySQL5":
- return MySQL5Dialect.class;
case "MySQL55":
- return MySQL55Dialect.class;
+ return findCommunityDialect( name );
case "MySQL57":
return MySQL57Dialect.class;
case "MySQL8":
@@ -132,11 +103,9 @@ public class DefaultDialectSelector implements DialectSelector {
case "Oracle":
return OracleDialect.class;
case "Oracle8i":
- return Oracle8iDialect.class;
case "Oracle9i":
- return Oracle9iDialect.class;
case "Oracle10g":
- return Oracle10gDialect.class;
+ return findCommunityDialect( name );
case "Oracle12c":
return Oracle12cDialect.class;
case "PostgresPlus":
@@ -144,43 +113,58 @@ public class DefaultDialectSelector implements DialectSelector {
case "PostgreSQL":
return PostgreSQLDialect.class;
case "PostgreSQL81":
- return PostgreSQL81Dialect.class;
case "PostgreSQL82":
- return PostgreSQL82Dialect.class;
case "PostgreSQL9":
- return PostgreSQL9Dialect.class;
case "PostgreSQL91":
- return PostgreSQL91Dialect.class;
case "PostgreSQL92":
- return PostgreSQL92Dialect.class;
case "PostgreSQL93":
- return PostgreSQL93Dialect.class;
case "PostgreSQL94":
- return PostgreSQL94Dialect.class;
case "PostgreSQL95":
- return PostgreSQL95Dialect.class;
+ return findCommunityDialect( name );
+ case "PostgreSQL10":
+ return PostgreSQL10Dialect.class;
case "Spanner":
return SpannerDialect.class;
case "SQLServer":
return SQLServerDialect.class;
case "SQLServer2005":
- return SQLServer2005Dialect.class;
+ return findCommunityDialect( name );
case "SQLServer2008":
return SQLServer2008Dialect.class;
case "SQLServer2012":
return SQLServer2012Dialect.class;
+ case "SQLServer2016":
+ return SQLServer2016Dialect.class;
case "Sybase":
return SybaseDialect.class;
case "Sybase11":
- return Sybase11Dialect.class;
+ return findCommunityDialect( name );
case "SybaseASE":
return SybaseASEDialect.class;
case "SybaseASE15":
- return SybaseASE15Dialect.class;
case "SybaseASE157":
- return SybaseASE157Dialect.class;
+ return findCommunityDialect( name );
}
return null;
}
+ private static Class extends Dialect> findCommunityDialect(String name) {
+ try {
+ //noinspection unchecked
+ return (Class extends Dialect>) DefaultDialectSelector.class.getClassLoader().loadClass(
+ "org.hibernate.community.dialect." + name + "Dialect"
+ );
+ }
+ catch (ClassNotFoundException e) {
+ throw new StrategySelectionException(
+ "Couldn't load the dialect class for the `hibernate.dialect` short name [" + name + "], " +
+ "because the application is missing a dependency on the hibernate-community-dialects module. " +
+ "Hibernate 6.2 dropped support for database versions that are unsupported by vendors " +
+ "and code for old versions was moved to the hibernate-community-dialects module. " +
+ "For further information, read https://in.relation.to/2023/02/15/hibernate-orm-62-db-version-support/",
+ e
+ );
+ }
+ }
+
}
diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java
index c1d25a7384..64bc4c28f8 100644
--- a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java
+++ b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java
@@ -278,7 +278,7 @@ import static org.hibernate.type.descriptor.DateTimeUtils.appendAsTimestampWithN
* passed to the constructor, and by the {@link #getVersion()} property.
*
* Programs using Hibernate should migrate away from the use of versioned
- * dialect classes like, for example, {@link PostgreSQL95Dialect}. These
+ * dialect classes like, for example, {@link MySQL8Dialect}. These
* classes are now deprecated and will be removed in a future release.
*
* A custom {@code Dialect} may be specified using the configuration
diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java
index dd7c94c384..0579c95541 100644
--- a/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java
+++ b/hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java
@@ -861,11 +861,6 @@ public class MySQLDialect extends Dialect {
}
}
- @Override
- public boolean supportsUnionAll() {
- return true;
- }
-
@Override
public SelectItemReferenceStrategy getGroupBySelectItemReferenceStrategy() {
return SelectItemReferenceStrategy.POSITION;
diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/dialect/internal/DialectFactoryImpl.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/dialect/internal/DialectFactoryImpl.java
index 97a1c901c3..9d24e337a2 100644
--- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/dialect/internal/DialectFactoryImpl.java
+++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/dialect/internal/DialectFactoryImpl.java
@@ -8,6 +8,7 @@ package org.hibernate.engine.jdbc.dialect.internal;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
+import java.util.Set;
import org.hibernate.HibernateException;
import org.hibernate.boot.registry.selector.spi.StrategySelectionException;
@@ -33,6 +34,34 @@ import static org.hibernate.internal.log.DeprecationLogger.DEPRECATION_LOGGER;
*/
public class DialectFactoryImpl implements DialectFactory, ServiceRegistryAwareService {
private static final CoreMessageLogger LOG = CoreLogging.messageLogger( "SQL dialect" );
+ private static final Set LEGACY_DIALECTS = Set.of(
+ "org.hibernate.community.dialect.DB297Dialect",
+ "org.hibernate.community.dialect.DB2390Dialect",
+ "org.hibernate.community.dialect.DB2390V8Dialect",
+ "org.hibernate.community.dialect.DerbyTenFiveDialect",
+ "org.hibernate.community.dialect.DerbyTenSevenDialect",
+ "org.hibernate.community.dialect.DerbyTenSixDialect",
+ "org.hibernate.community.dialect.MariaDB10Dialect",
+ "org.hibernate.community.dialect.MariaDB53Dialect",
+ "org.hibernate.community.dialect.MariaDB102Dialect",
+ "org.hibernate.community.dialect.MySQL5Dialect",
+ "org.hibernate.community.dialect.MySQL55Dialect",
+ "org.hibernate.community.dialect.Oracle8iDialect",
+ "org.hibernate.community.dialect.Oracle9iDialect",
+ "org.hibernate.community.dialect.Oracle10gDialect",
+ "org.hibernate.community.dialect.PostgreSQL9Dialect",
+ "org.hibernate.community.dialect.PostgreSQL81Dialect",
+ "org.hibernate.community.dialect.PostgreSQL82Dialect",
+ "org.hibernate.community.dialect.PostgreSQL91Dialect",
+ "org.hibernate.community.dialect.PostgreSQL92Dialect",
+ "org.hibernate.community.dialect.PostgreSQL93Dialect",
+ "org.hibernate.community.dialect.PostgreSQL94Dialect",
+ "org.hibernate.community.dialect.PostgreSQL95Dialect",
+ "org.hibernate.community.dialect.SQLServer2005Dialect",
+ "org.hibernate.community.dialect.Sybase11Dialect",
+ "org.hibernate.community.dialect.SybaseASE15Dialect",
+ "org.hibernate.community.dialect.SybaseASE157Dialect"
+ );
private StrategySelector strategySelector;
private DialectResolver dialectResolver;
@@ -124,6 +153,20 @@ public class DialectFactoryImpl implements DialectFactory, ServiceRegistryAwareS
}
return dialect;
}
+ catch (StrategySelectionException e) {
+ final String dialectFqn = dialectReference.toString();
+ if ( LEGACY_DIALECTS.contains( dialectFqn ) ) {
+ throw new StrategySelectionException(
+ "Couldn't load the dialect class for the `hibernate.dialect` [" + dialectFqn + "], " +
+ "because the application is missing a dependency on the hibernate-community-dialects module. " +
+ "Hibernate 6.2 dropped support for database versions that are unsupported by vendors " +
+ "and code for old versions was moved to the hibernate-community-dialects module. " +
+ "For further information, read https://in.relation.to/2023/02/15/hibernate-orm-62-db-version-support/",
+ e
+ );
+ }
+ throw e;
+ }
catch (HibernateException e) {
throw e;
}
diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/strategyselectors/DefaultDialectSelectorTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/strategyselectors/DefaultDialectSelectorTest.java
index c57c5ef956..1eed41a6e3 100644
--- a/hibernate-core/src/test/java/org/hibernate/orm/test/strategyselectors/DefaultDialectSelectorTest.java
+++ b/hibernate-core/src/test/java/org/hibernate/orm/test/strategyselectors/DefaultDialectSelectorTest.java
@@ -7,6 +7,10 @@
package org.hibernate.orm.test.strategyselectors;
import org.hibernate.boot.registry.selector.internal.DefaultDialectSelector;
+import org.hibernate.community.dialect.DerbyTenFiveDialect;
+import org.hibernate.community.dialect.DerbyTenSevenDialect;
+import org.hibernate.community.dialect.DerbyTenSixDialect;
+import org.hibernate.community.dialect.MySQL5Dialect;
import org.hibernate.dialect.*;
import org.junit.jupiter.api.Test;
@@ -21,8 +25,6 @@ public class DefaultDialectSelectorTest {
@Test
public void verifyAllDialectNamingResolve() {
testDialectNamingResolution( DB2Dialect.class );
- testDialectNamingResolution( DB2390Dialect.class );
- testDialectNamingResolution( DB2390V8Dialect.class );
testDialectNamingResolution( DB2400Dialect.class );
testDialectNamingResolution( DB2400V7R3Dialect.class );
@@ -42,24 +44,17 @@ public class DefaultDialectSelectorTest {
testDialectNamingResolution( MySQL8Dialect.class );
testDialectNamingResolution( OracleDialect.class );
- testDialectNamingResolution( Oracle8iDialect.class );
- testDialectNamingResolution( Oracle9iDialect.class );
- testDialectNamingResolution( Oracle10gDialect.class );
+ testDialectNamingResolution( Oracle12cDialect.class );
testDialectNamingResolution( PostgreSQLDialect.class );
testDialectNamingResolution( PostgresPlusDialect.class );
- testDialectNamingResolution( PostgreSQL81Dialect.class );
- testDialectNamingResolution( PostgreSQL82Dialect.class );
- testDialectNamingResolution( PostgreSQL9Dialect.class );
+ testDialectNamingResolution( PostgreSQL10Dialect.class );
testDialectNamingResolution( SQLServerDialect.class );
- testDialectNamingResolution( SQLServer2005Dialect.class );
testDialectNamingResolution( SQLServer2008Dialect.class );
+ testDialectNamingResolution( SQLServer2012Dialect.class );
testDialectNamingResolution( SybaseDialect.class );
- testDialectNamingResolution( Sybase11Dialect.class );
- testDialectNamingResolution( SybaseASE15Dialect.class );
- testDialectNamingResolution( SybaseASE157Dialect.class );
}
private void testDialectNamingResolution(final Class> dialectClass) {
diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/type/OracleLongLobTypeTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/type/OracleLongLobTypeTest.java
index 68faca45da..e35108be73 100644
--- a/hibernate-core/src/test/java/org/hibernate/orm/test/type/OracleLongLobTypeTest.java
+++ b/hibernate-core/src/test/java/org/hibernate/orm/test/type/OracleLongLobTypeTest.java
@@ -18,10 +18,7 @@ import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.dialect.Dialect;
-import org.hibernate.dialect.Oracle10gDialect;
import org.hibernate.dialect.Oracle12cDialect;
-import org.hibernate.dialect.Oracle8iDialect;
-import org.hibernate.dialect.Oracle9iDialect;
import org.hibernate.dialect.OracleDialect;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.type.BasicType;
@@ -42,26 +39,6 @@ import static org.junit.Assert.assertSame;
* @author Steve Ebersole
*/
public class OracleLongLobTypeTest extends BaseUnitTestCase {
- @Test
- public void testOracle8() {
- check( Oracle8iDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY );
- check( Oracle8iDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY );
- check( Oracle8iDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB );
- }
-
- @Test
- public void testOracle9() {
- check( Oracle9iDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY );
- check( Oracle9iDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY );
- check( Oracle9iDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB );
- }
-
- @Test
- public void testOracle10() {
- check( Oracle10gDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY );
- check( Oracle10gDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY );
- check( Oracle10gDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB );
- }
@Test
@TestForIssue( jiraKey = "HHH-10345" )
diff --git a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL56SpatialDialect.java b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL56SpatialDialect.java
index 5f866f356c..35358fe005 100644
--- a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL56SpatialDialect.java
+++ b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL56SpatialDialect.java
@@ -11,7 +11,8 @@ package org.hibernate.spatial.dialect.mysql;
* creation-date: 10/9/13
*/
-import org.hibernate.dialect.MySQL55Dialect;
+import org.hibernate.dialect.DatabaseVersion;
+import org.hibernate.dialect.MySQLDialect;
import org.hibernate.spatial.SpatialDialect;
/**
@@ -25,6 +26,9 @@ import org.hibernate.spatial.SpatialDialect;
* @deprecated Spatial Dialects are no longer needed
*/
@Deprecated
-public class MySQL56SpatialDialect extends MySQL55Dialect implements SpatialDialect {
+public class MySQL56SpatialDialect extends MySQLDialect implements SpatialDialect {
+ public MySQL56SpatialDialect() {
+ super( DatabaseVersion.make( 5, 5 ) );
+ }
}
diff --git a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL5SpatialDialect.java b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL5SpatialDialect.java
index f1ed54d382..a3277104f3 100644
--- a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL5SpatialDialect.java
+++ b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/mysql/MySQL5SpatialDialect.java
@@ -6,7 +6,8 @@
*/
package org.hibernate.spatial.dialect.mysql;
-import org.hibernate.dialect.MySQL5Dialect;
+import org.hibernate.dialect.DatabaseVersion;
+import org.hibernate.dialect.MySQLDialect;
import org.hibernate.spatial.SpatialDialect;
/**
@@ -16,5 +17,9 @@ import org.hibernate.spatial.SpatialDialect;
* @deprecated Spatial Dialects are no longer needed
*/
@Deprecated
-public class MySQL5SpatialDialect extends MySQL5Dialect implements SpatialDialect {
+public class MySQL5SpatialDialect extends MySQLDialect implements SpatialDialect {
+
+ public MySQL5SpatialDialect() {
+ super( DatabaseVersion.make( 5 ) );
+ }
}
diff --git a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatial10gDialect.java b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatial10gDialect.java
index 6b7bedebeb..a3d39c3fe6 100644
--- a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatial10gDialect.java
+++ b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatial10gDialect.java
@@ -7,7 +7,8 @@
package org.hibernate.spatial.dialect.oracle;
-import org.hibernate.dialect.Oracle10gDialect;
+import org.hibernate.dialect.DatabaseVersion;
+import org.hibernate.dialect.OracleDialect;
import org.hibernate.spatial.SpatialDialect;
/**
@@ -18,6 +19,10 @@ import org.hibernate.spatial.SpatialDialect;
* @deprecated A SpatialDialect is no longer required. Use the standard Dialect for this database.
*/
@Deprecated
-public class OracleSpatial10gDialect extends Oracle10gDialect implements SpatialDialect {
+public class OracleSpatial10gDialect extends OracleDialect implements SpatialDialect {
+
+ public OracleSpatial10gDialect() {
+ super( DatabaseVersion.make( 10 ) );
+ }
}
diff --git a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatialSDO10gDialect.java b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatialSDO10gDialect.java
index 6513b62ccb..2ce39463f0 100644
--- a/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatialSDO10gDialect.java
+++ b/hibernate-spatial/src/main/java/org/hibernate/spatial/dialect/oracle/OracleSpatialSDO10gDialect.java
@@ -6,7 +6,8 @@
*/
package org.hibernate.spatial.dialect.oracle;
-import org.hibernate.dialect.Oracle10gDialect;
+import org.hibernate.dialect.DatabaseVersion;
+import org.hibernate.dialect.OracleDialect;
import org.hibernate.spatial.SpatialDialect;
/**
@@ -15,6 +16,9 @@ import org.hibernate.spatial.SpatialDialect;
* @deprecated A SpatialDialect is no longer required. Use the standard Dialect for this database.
*/
@Deprecated
-public class OracleSpatialSDO10gDialect extends Oracle10gDialect
- implements SpatialDialect {
+public class OracleSpatialSDO10gDialect extends OracleDialect implements SpatialDialect {
+
+ public OracleSpatialSDO10gDialect() {
+ super( DatabaseVersion.make( 10 ) );
+ }
}