diff --git a/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ResultSetMappingBinder.java b/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ResultSetMappingBinder.java index ac1824c20c..d4e2fad4a1 100644 --- a/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ResultSetMappingBinder.java +++ b/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ResultSetMappingBinder.java @@ -37,6 +37,7 @@ import org.hibernate.mapping.PersistentClass; import org.hibernate.mapping.Property; import org.hibernate.mapping.ToOne; import org.hibernate.mapping.Value; +import org.hibernate.metamodel.model.domain.BasicDomainType; import org.hibernate.type.Type; /** @@ -103,7 +104,7 @@ public abstract class ResultSetMappingBinder { ); } } - return new NativeSQLQueryScalarReturn( column, type ); + return new NativeSQLQueryScalarReturn( column, (BasicDomainType) type ); } diff --git a/hibernate-core/src/main/java/org/hibernate/engine/query/spi/sql/NativeSQLQueryScalarReturn.java b/hibernate-core/src/main/java/org/hibernate/engine/query/spi/sql/NativeSQLQueryScalarReturn.java index 054c518661..2417859dad 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/query/spi/sql/NativeSQLQueryScalarReturn.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/query/spi/sql/NativeSQLQueryScalarReturn.java @@ -6,6 +6,7 @@ */ package org.hibernate.engine.query.spi.sql; +import org.hibernate.metamodel.model.domain.BasicDomainType; import org.hibernate.type.Type; /** @@ -14,11 +15,11 @@ import org.hibernate.type.Type; * @author gloegl */ public class NativeSQLQueryScalarReturn implements NativeSQLQueryReturn { - private final Type type; + private final BasicDomainType type; private final String columnAlias; private final int hashCode; - public NativeSQLQueryScalarReturn(String alias, Type type) { + public NativeSQLQueryScalarReturn(String alias, BasicDomainType type) { this.type = type; this.columnAlias = alias; this.hashCode = determineHashCode(); @@ -36,7 +37,7 @@ public class NativeSQLQueryScalarReturn implements NativeSQLQueryReturn { } public Type getType() { - return type; + return (Type) type; } @Override @@ -69,7 +70,7 @@ public class NativeSQLQueryScalarReturn implements NativeSQLQueryReturn { public void traceLog(TraceLogger logger) { logger.writeLine( "Scalar[" ); logger.writeLine( " columnAlias=" + columnAlias + "," ); - logger.writeLine( " type=" + ( type == null ? "" : type.getName() ) + "," ); + logger.writeLine( " type=" + ( type == null ? "" : type.getTypeName() ) + "," ); logger.writeLine( "]" ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/query/NativeQuery.java b/hibernate-core/src/main/java/org/hibernate/query/NativeQuery.java index f7c3087b5e..1a7e661a76 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/NativeQuery.java +++ b/hibernate-core/src/main/java/org/hibernate/query/NativeQuery.java @@ -89,9 +89,7 @@ public interface NativeQuery extends Query, SynchronizeableQuery { * * @return {@code this}, for method chaining */ - default NativeQuery addScalar(String columnAlias, Type type) { - return addScalar( columnAlias, (BasicDomainType) type ); - } +// NativeQuery addScalar(String columnAlias, Type type); /** * Declare a scalar query result. diff --git a/hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java b/hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java index 6c942fc951..84caac553e 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java @@ -530,22 +530,18 @@ public class NativeQueryImpl @Override public NativeQueryImplementor addScalar(String columnAlias) { - return addScalar( columnAlias, (BasicDomainType) null ); + return addScalar( columnAlias, null ); } +// @Override +// public NativeQueryImplementor addScalar(String columnAlias, BasicDomainType type) { +// return null; +// } + @Override public NativeQueryImplementor addScalar(String columnAlias, BasicDomainType type) { - return null; - } - - @Override - public NativeQueryImplementor addScalar(String columnAlias, Type type) { addReturnBuilder( - new NativeQueryReturnBuilder() { - public NativeSQLQueryReturn buildReturn() { - return new NativeSQLQueryScalarReturn( columnAlias, type ); - } - } + () -> new NativeSQLQueryScalarReturn( columnAlias, type ) ); return this; } diff --git a/hibernate-core/src/main/java/org/hibernate/query/sql/spi/NativeQueryImplementor.java b/hibernate-core/src/main/java/org/hibernate/query/sql/spi/NativeQueryImplementor.java index 9bd6e81f32..f7f7c5fc82 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sql/spi/NativeQueryImplementor.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sql/spi/NativeQueryImplementor.java @@ -27,6 +27,7 @@ import org.hibernate.LockMode; import org.hibernate.LockOptions; import org.hibernate.MappingException; import org.hibernate.metamodel.model.domain.AllowableParameterType; +import org.hibernate.metamodel.model.domain.BasicDomainType; import org.hibernate.query.NativeQuery; import org.hibernate.query.QueryParameter; import org.hibernate.query.ResultListTransformer; @@ -53,7 +54,7 @@ public interface NativeQueryImplementor extends QueryImplementor, NativeQu NativeQueryImplementor addScalar(String columnAlias); @Override - NativeQueryImplementor addScalar(String columnAlias, Type type); + NativeQueryImplementor addScalar(String columnAlias, BasicDomainType type); @Override RootReturn addRoot(String tableAlias, String entityName);