diff --git a/hibernate-core/src/main/java/org/hibernate/type/descriptor/jdbc/spi/JdbcTypeRegistry.java b/hibernate-core/src/main/java/org/hibernate/type/descriptor/jdbc/spi/JdbcTypeRegistry.java index 5f37ee377fd1..f2d1832040f3 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/descriptor/jdbc/spi/JdbcTypeRegistry.java +++ b/hibernate-core/src/main/java/org/hibernate/type/descriptor/jdbc/spi/JdbcTypeRegistry.java @@ -297,7 +297,17 @@ private JdbcType jdbcElementType( public boolean hasRegisteredDescriptor(int jdbcTypeCode) { return descriptorMap.containsKey( jdbcTypeCode ) || isStandardTypeCode( jdbcTypeCode ) - || JdbcTypeFamilyInformation.INSTANCE.locateJdbcTypeFamilyByTypeCode( jdbcTypeCode ) != null; + || JdbcTypeFamilyInformation.INSTANCE.locateJdbcTypeFamilyByTypeCode( jdbcTypeCode ) != null + || locateConstructedJdbcType( jdbcTypeCode ); + } + + private boolean locateConstructedJdbcType(int jdbcTypeCode) { + for ( TypeConstructedJdbcTypeKey key : typeConstructorDescriptorMap.keySet() ) { + if ( key.typeCode() == jdbcTypeCode ) { + return true; + } + } + return false; } public JdbcTypeConstructor getConstructor(int jdbcTypeCode) {