Skip to content

Commit de2e169

Browse files
committed
HHH-19675 Fix JdbcTypeRegistry#hasRegisteredDescriptor for constructed types
1 parent 9a42ca7 commit de2e169

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

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

301312
public JdbcTypeConstructor getConstructor(int jdbcTypeCode) {

0 commit comments

Comments
 (0)