diff --git a/hibernate-core/src/main/java/org/hibernate/id/ExportableColumn.java b/hibernate-core/src/main/java/org/hibernate/id/ExportableColumn.java index 122ad957cc..21e81a1e04 100644 --- a/hibernate-core/src/main/java/org/hibernate/id/ExportableColumn.java +++ b/hibernate-core/src/main/java/org/hibernate/id/ExportableColumn.java @@ -36,7 +36,7 @@ public class ExportableColumn extends Column { table, name, type, - database.getDialect().getTypeName( type.getSqlTypeCodes( null )[0] ) + database.getDialect().getTypeName( type.getJdbcType().getDefaultSqlTypeCode() ) ); } diff --git a/hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java b/hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java index 8596d1132f..58f14b3d16 100644 --- a/hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java +++ b/hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java @@ -3261,7 +3261,7 @@ public abstract class AbstractEntityPersister .getIdentitySelectString( getTableName( 0 ), getKeyColumns( 0 )[0], - getIdentifierType().getSqlTypeCodes( getFactory() )[0] + ( (BasicType) getIdentifierType() ).getJdbcType().getDefaultSqlTypeCode() ); } diff --git a/hibernate-core/src/main/java/org/hibernate/type/DbTimestampType.java b/hibernate-core/src/main/java/org/hibernate/type/DbTimestampType.java index ad3600d3f4..9334b293f8 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/DbTimestampType.java +++ b/hibernate-core/src/main/java/org/hibernate/type/DbTimestampType.java @@ -23,6 +23,7 @@ import org.hibernate.type.descriptor.jdbc.TimestampJdbcType; * datatype is supported). Depends on the frequency of DML operations... * * @author Steve Ebersole + * @deprecated We should replace this with a different contract to handle DB generation */ @Deprecated public class DbTimestampType extends AbstractSingleColumnStandardBasicType { diff --git a/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/DbTimestampJavaType.java b/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/DbTimestampJavaType.java index d75bccacf4..1cd976d97e 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/DbTimestampJavaType.java +++ b/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/DbTimestampJavaType.java @@ -30,6 +30,7 @@ import jakarta.persistence.TemporalType; * Wrapper Java type descriptor for that uses the database timestamp as seed value for versions. * * @author Christian Beikov + * @deprecated We should replace this with a different contract to handle DB generation */ @Deprecated public class DbTimestampJavaType implements VersionJavaType, TemporalJavaType { diff --git a/hibernate-core/src/main/java/org/hibernate/type/spi/TypeConfiguration.java b/hibernate-core/src/main/java/org/hibernate/type/spi/TypeConfiguration.java index 5bff286eb5..b81c808e75 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/spi/TypeConfiguration.java +++ b/hibernate-core/src/main/java/org/hibernate/type/spi/TypeConfiguration.java @@ -236,22 +236,10 @@ public class TypeConfiguration implements SessionFactoryObserver, Serializable { () -> basicType.getJavaTypeDescriptor() ); - try { - int[] jdbcTypes = basicType.getSqlTypeCodes( null ); - - if ( jdbcTypes.length == 1 ) { - int jdbcType = jdbcTypes[0]; - Set hibernateTypes = jdbcToHibernateTypeContributionMap.computeIfAbsent( - jdbcType, - k -> new HashSet<>() - ); - hibernateTypes.add( basicType.getName() ); - } - } - catch (Exception e) { - log.errorf( e, "Cannot register [%s] Hibernate Type contribution", basicType.getName() ); - } - + jdbcToHibernateTypeContributionMap.computeIfAbsent( + basicType.getJdbcType().getDefaultSqlTypeCode(), + k -> new HashSet<>() + ).add( basicType.getName() ); } }