Skip to content

Commit 6f51aa5

Browse files
committed
HHH-19675 Fix JdbcTypeRegistry#hasRegisteredDescriptor for constructed types
1 parent 656eb4d commit 6f51aa5

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

hibernate-core/src/main/java/org/hibernate/type/descriptor/jdbc/spi/JdbcTypeRegistry.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.io.Serializable;
88
import java.sql.Types;
99
import java.util.Locale;
10+
import java.util.Map;
1011
import java.util.Objects;
1112
import java.util.concurrent.ConcurrentHashMap;
1213

@@ -297,7 +298,17 @@ private JdbcType jdbcElementType(
297298
public boolean hasRegisteredDescriptor(int jdbcTypeCode) {
298299
return descriptorMap.containsKey( jdbcTypeCode )
299300
|| isStandardTypeCode( jdbcTypeCode )
300-
|| JdbcTypeFamilyInformation.INSTANCE.locateJdbcTypeFamilyByTypeCode( jdbcTypeCode ) != null;
301+
|| JdbcTypeFamilyInformation.INSTANCE.locateJdbcTypeFamilyByTypeCode( jdbcTypeCode ) != null
302+
|| locateConstructedJdbcType( jdbcTypeCode );
303+
}
304+
305+
private boolean locateConstructedJdbcType(int jdbcTypeCode) {
306+
for ( Map.Entry<TypeConstructedJdbcTypeKey, JdbcType> entry : typeConstructorDescriptorMap.entrySet() ) {
307+
if ( entry.getKey().typeCode() == jdbcTypeCode ) {
308+
return true;
309+
}
310+
}
311+
return false;
301312
}
302313

303314
public JdbcTypeConstructor getConstructor(int jdbcTypeCode) {

0 commit comments

Comments
 (0)