Skip to content

Commit 769c9f7

Browse files
committed
HHH-18551 Fix memory leak caused by creation of new BasicTypeImpl
1 parent b57e85c commit 769c9f7

File tree

4 files changed

+4
-7
lines changed

4 files changed

+4
-7
lines changed

hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmCriteriaNodeBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
import org.hibernate.metamodel.model.domain.DomainType;
4747
import org.hibernate.metamodel.model.domain.JpaMetamodel;
4848
import org.hibernate.metamodel.model.domain.SingularPersistentAttribute;
49-
import org.hibernate.metamodel.model.domain.internal.BasicTypeImpl;
5049
import org.hibernate.metamodel.model.domain.spi.JpaMetamodelImplementor;
5150
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
5251
import org.hibernate.query.BindableType;
@@ -1533,7 +1532,7 @@ else if ( value == null ) {
15331532
final EnumJavaType javaType = new EnumJavaType<>( type );
15341533
final JdbcType jdbcType =
15351534
javaType.getRecommendedJdbcType( typeConfiguration.getCurrentBaseSqlTypeIndicators() );
1536-
return new BasicTypeImpl<>( javaType, jdbcType );
1535+
return typeConfiguration.getBasicTypeRegistry().resolve( javaType, jdbcType );
15371536
}
15381537
else {
15391538
return result;

hibernate-core/src/main/java/org/hibernate/sql/exec/internal/AbstractJdbcParameter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.hibernate.metamodel.mapping.MappingModelExpressible;
1919
import org.hibernate.metamodel.mapping.MappingType;
2020
import org.hibernate.metamodel.mapping.SqlExpressible;
21-
import org.hibernate.metamodel.model.domain.internal.BasicTypeImpl;
2221
import org.hibernate.query.BindableType;
2322
import org.hibernate.sql.ast.SqlAstWalker;
2423
import org.hibernate.sql.ast.tree.expression.JdbcParameter;
@@ -27,6 +26,7 @@
2726
import org.hibernate.sql.exec.spi.JdbcParameterBinder;
2827
import org.hibernate.sql.exec.spi.JdbcParameterBinding;
2928
import org.hibernate.sql.exec.spi.JdbcParameterBindings;
29+
import org.hibernate.type.BasicType;
3030
import org.hibernate.type.descriptor.java.EnumJavaType;
3131
import org.hibernate.type.descriptor.jdbc.JdbcType;
3232
import org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators;
@@ -135,7 +135,7 @@ private JdbcMapping guessBindType(ExecutionContext executionContext, Object bind
135135
}
136136
}
137137

138-
private static <E extends Enum<E>> BasicTypeImpl<E> createEnumType(ExecutionContext executionContext, Class<E> enumClass) {
138+
private static <E extends Enum<E>> BasicType<E> createEnumType(ExecutionContext executionContext, Class<E> enumClass) {
139139
final EnumJavaType<E> enumJavaType = new EnumJavaType<>( enumClass );
140140
final JdbcTypeIndicators indicators =
141141
executionContext.getSession().getTypeConfiguration().getCurrentBaseSqlTypeIndicators();
@@ -144,7 +144,7 @@ private static <E extends Enum<E>> BasicTypeImpl<E> createEnumType(ExecutionCont
144144
// so just accept the default from the TypeConfiguration, which
145145
// is usually ORDINAL (the default according to JPA)
146146
enumJavaType.getRecommendedJdbcType(indicators);
147-
return new BasicTypeImpl<>( enumJavaType, jdbcType );
147+
return indicators.getTypeConfiguration().getBasicTypeRegistry().resolve( enumJavaType, jdbcType );
148148
}
149149

150150
@Override

hibernate-core/src/main/java/org/hibernate/type/descriptor/java/AbstractArrayJavaType.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.hibernate.type.descriptor.java.spi.UnknownBasicJavaType;
2121
import org.hibernate.type.descriptor.jdbc.JdbcType;
2222
import org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators;
23-
import org.hibernate.type.internal.BasicTypeImpl;
2423
import org.hibernate.type.spi.TypeConfiguration;
2524

2625
public abstract class AbstractArrayJavaType<T, E> extends AbstractClassJavaType<T>

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.hibernate.type.descriptor.java.MutabilityPlan;
4141
import org.hibernate.type.descriptor.jdbc.JdbcType;
4242
import org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators;
43-
import org.hibernate.type.internal.BasicTypeImpl;
4443
import org.hibernate.type.spi.TypeConfiguration;
4544

4645
/**

0 commit comments

Comments
 (0)