Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ private static <T, E, K> SubGraphImplementor<?> makeAttributeNodeValueSubgraph(
private static <T, E, K> SubGraphImplementor<?> makeAttributeNodeKeySubgraph(
AttributeNodeImplementor<T, E, K> attributeNode, Class<?> subgraphType) {
final Class<?> attributeKeyType =
attributeNode.getAttributeDescriptor().getKeyGraphType().getBindableJavaType();
attributeNode.getAttributeDescriptor().getKeyGraphType().getJavaType();
if ( !attributeKeyType.isAssignableFrom( subgraphType ) ) {
throw new AnnotationException( "Named subgraph type '" + subgraphType.getName()
+ "' is not a subtype of the key type '" + attributeKeyType.getName() + "'" );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import org.hibernate.metamodel.mapping.JdbcMapping;
import org.hibernate.metamodel.model.domain.DomainType;
import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor;
import org.hibernate.query.sqm.function.FunctionKind;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import org.hibernate.QueryException;
import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor;
import org.hibernate.query.sqm.produce.function.ArgumentTypesValidator;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import java.util.List;

import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.spi.QueryEngine;
import org.hibernate.query.sqm.function.FunctionKind;
import org.hibernate.query.sqm.function.SelfRenderingSqmFunction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import org.hibernate.metamodel.mapping.JdbcMapping;
import org.hibernate.metamodel.model.domain.DomainType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.hibernate.metamodel.mapping.SelectablePath;
import org.hibernate.metamodel.mapping.SqlTypedMapping;
import org.hibernate.metamodel.mapping.internal.SelectableMappingImpl;
import org.hibernate.query.sqm.SqmBindableType;
import org.hibernate.query.sqm.tree.domain.SqmDomainType;
import org.hibernate.query.sqm.tuple.internal.AnonymousTupleType;
import org.hibernate.query.sqm.SqmExpressible;
Expand Down Expand Up @@ -53,7 +54,7 @@ public AnonymousTupleType<?> resolveTupleType(List<? extends SqmTypedNode<?>> ar
throw new IllegalArgumentException( "Couldn't determine types of arguments to function 'generate_series'" );
}

final SqmExpressible<?>[] componentTypes = new SqmExpressible<?>[]{ type, typeConfiguration.getBasicTypeForJavaType( Long.class ) };
final SqmBindableType<?>[] componentTypes = new SqmBindableType<?>[]{ type, typeConfiguration.getBasicTypeForJavaType( Long.class ) };
final String[] componentNames = new String[]{ CollectionPart.Nature.ELEMENT.getName(), CollectionPart.Nature.INDEX.getName() };
return new AnonymousTupleType<>( componentTypes, componentNames );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.List;

import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.spi.QueryEngine;
import org.hibernate.query.sqm.NodeBuilder;
import org.hibernate.query.common.TemporalUnit;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.hibernate.metamodel.mapping.SelectablePath;
import org.hibernate.metamodel.mapping.SqlTypedMapping;
import org.hibernate.metamodel.mapping.internal.SelectableMappingImpl;
import org.hibernate.query.sqm.SqmBindableType;
import org.hibernate.query.sqm.tuple.internal.AnonymousTupleType;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.SetReturningFunctionTypeResolver;
Expand Down Expand Up @@ -55,7 +56,7 @@ public AnonymousTupleType<?> resolveTupleType(List<? extends SqmTypedNode<?>> ar
}

final BasicType<?> elementType = pluralType.getElementType();
final SqmExpressible<?>[] componentTypes;
final SqmBindableType<?>[] componentTypes;
final String[] componentNames;
if ( elementType.getJdbcType() instanceof AggregateJdbcType aggregateJdbcType
&& aggregateJdbcType.getEmbeddableMappingType() != null ) {
Expand All @@ -75,7 +76,7 @@ public AnonymousTupleType<?> resolveTupleType(List<? extends SqmTypedNode<?>> ar
componentNames[index] = CollectionPart.Nature.INDEX.getName();
}
else {
componentTypes = new SqmExpressible<?>[]{ elementType, typeConfiguration.getBasicTypeForJavaType( Long.class ) };
componentTypes = new SqmBindableType<?>[]{ elementType, typeConfiguration.getBasicTypeForJavaType( Long.class ) };
componentNames = new String[]{ CollectionPart.Nature.ELEMENT.getName(), CollectionPart.Nature.INDEX.getName() };
}
return new AnonymousTupleType<>( componentTypes, componentNames );
Expand Down Expand Up @@ -208,17 +209,17 @@ public SelectableMapping[] resolveFunctionReturnType(
return returnType;
}

private static SqmExpressible<?>[] determineComponentTypes(EmbeddableMappingType embeddableMappingType) {
private static SqmBindableType<?>[] determineComponentTypes(EmbeddableMappingType embeddableMappingType) {
final int numberOfAttributeMappings = embeddableMappingType.getNumberOfAttributeMappings();
final ArrayList<SqmExpressible<?>> expressibles = new ArrayList<>( numberOfAttributeMappings + 1 );
final ArrayList<SqmBindableType<?>> expressibles = new ArrayList<>( numberOfAttributeMappings + 1 );

for ( int i = 0; i < numberOfAttributeMappings; i++ ) {
final AttributeMapping attributeMapping = embeddableMappingType.getAttributeMapping( i );
final MappingType mappedType = attributeMapping.getMappedType();
if ( mappedType instanceof SqmExpressible<?> sqmExpressible ) {
if ( mappedType instanceof SqmBindableType<?> sqmExpressible ) {
expressibles.add( sqmExpressible );
}
}
return expressibles.toArray( new SqmExpressible<?>[expressibles.size() + 1] );
return expressibles.toArray( new SqmBindableType<?>[expressibles.size() + 1] );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import java.util.List;

import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import java.util.List;

import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

import org.hibernate.metamodel.mapping.JdbcMappingContainer;
import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmBindableType;
import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down Expand Up @@ -77,9 +77,9 @@ public void validate(
String functionName,
BindingContext bindingContext) {
final int size = arguments.size();
SqmExpressible<?> firstType = null;
SqmBindableType<?> firstType = null;
for ( int i = 0; i < size; i++ ) {
final SqmExpressible<?> argument = arguments.get( i ).getExpressible();
final SqmBindableType<?> argument = arguments.get( i ).getExpressible();
if ( firstType == null ) {
firstType = argument;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import java.util.List;

import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import java.util.List;

import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
import org.hibernate.query.sqm.tree.SqmTypedNode;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.Objects;

import org.hibernate.metamodel.model.domain.DomainType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.hibernate.metamodel.mapping.JdbcMapping;
import org.hibernate.metamodel.mapping.JdbcMappingContainer;
import org.hibernate.metamodel.model.domain.DomainType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.SqmExpressible;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
import org.hibernate.query.sqm.produce.function.FunctionArgumentException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import org.hibernate.type.descriptor.jdbc.XmlHelper;
import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.spi.QueryEngine;
import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor;
import org.hibernate.query.sqm.function.FunctionKind;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import org.hibernate.type.descriptor.jdbc.XmlHelper;
import org.hibernate.metamodel.model.domain.ReturnableType;
import org.hibernate.query.spi.BindingContext;
import org.hibernate.type.BindingContext;
import org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor;
import org.hibernate.query.sqm.function.FunctionKind;
import org.hibernate.query.sqm.produce.function.ArgumentsValidator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
package org.hibernate.engine.query.spi;

import org.hibernate.Incubating;
import org.hibernate.query.BindableType;
import org.hibernate.metamodel.model.domain.EmbeddableDomainType;
import org.hibernate.metamodel.model.domain.internal.EntityTypeImpl;
import org.hibernate.query.QueryParameter;
import org.hibernate.type.BindableType;

/**
* @apiNote Consider this contract (and its subcontracts) as incubating as we transition to 6.0 and SQM.
Expand Down Expand Up @@ -38,7 +38,7 @@ public Integer getPosition() {

@Override
public Class<T> getParameterType() {
return expectedType == null ? null : expectedType.getBindableJavaType();
return expectedType == null ? null : expectedType.getJavaType();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
package org.hibernate.engine.query.spi;

import org.hibernate.Incubating;
import org.hibernate.query.BindableType;
import org.hibernate.type.BindableType;

/**
* Descriptor regarding a named parameter.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
package org.hibernate.engine.query.spi;

import org.hibernate.Incubating;
import org.hibernate.query.BindableType;
import org.hibernate.type.BindableType;

/**
* Descriptor regarding an ordinal parameter.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ public SubGraphImplementor<E> makeSubGraph() {
@Override @Deprecated
public <S> SubGraphImplementor<S> makeSubGraph(Class<S> subtype) {
final ManagedDomainType<E> managedType = asManagedType( valueGraphType );
if ( !managedType.getBindableJavaType().isAssignableFrom( subtype ) ) {
if ( !managedType.getJavaType().isAssignableFrom( subtype ) ) {
throw new IllegalArgumentException( "Not a subtype: " + subtype.getName() );
}
@SuppressWarnings("unchecked")
Expand All @@ -283,7 +283,7 @@ public SubGraphImplementor<K> makeKeySubGraph() {
public <S> SubGraphImplementor<S> makeKeySubGraph(Class<S> subtype) {
checkMap();
final ManagedDomainType<K> type = asManagedType( keyGraphType );
if ( !type.getBindableJavaType().isAssignableFrom( subtype ) ) {
if ( !type.getJavaType().isAssignableFrom( subtype ) ) {
throw new IllegalArgumentException( "Not a key subtype: " + subtype.getName() );
}
@SuppressWarnings("unchecked")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
*/
package org.hibernate.jpa;

import org.hibernate.type.BindableType;

/**
* List of Hibernate-specific (extension) hints available to query,
* load, and lock scenarios.
Expand Down Expand Up @@ -165,15 +167,15 @@ public interface HibernateHints {

/**
* The {@linkplain org.hibernate.type.SqlTypes JDBC type code},
* {@linkplain org.hibernate.query.BindableType type}, or
* {@linkplain BindableType type}, or
* {@link Class} of the value returned by a SQL function called
* via {@link org.hibernate.procedure.ProcedureCall} or
* {@link jakarta.persistence.StoredProcedureQuery}. Has the side
* effect of causing the call to be treated as a function call
* rather than a call to a stored procedure.
*
* @see org.hibernate.procedure.ProcedureCall#markAsFunctionCall(int)
* @see org.hibernate.procedure.ProcedureCall#markAsFunctionCall(org.hibernate.query.BindableType)
* @see org.hibernate.procedure.ProcedureCall#markAsFunctionCall(BindableType)
* @see org.hibernate.procedure.ProcedureCall#markAsFunctionCall(Class)
*/
String HINT_CALLABLE_FUNCTION_RETURN_TYPE = "hibernate.procedure.function_return_jdbc_type_code";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.hibernate.graph.spi.RootGraphImplementor;
import org.hibernate.metamodel.mapping.EmbeddableValuedModelPart;
import org.hibernate.metamodel.mapping.MappingModelExpressible;
import org.hibernate.query.BindableType;
import org.hibernate.type.BindableType;
import org.hibernate.metamodel.model.domain.EntityDomainType;
import org.hibernate.metamodel.model.domain.NavigableRole;
import org.hibernate.persister.collection.CollectionPersister;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,13 +237,9 @@ public static <Y> DomainType<Y> determineSimpleType(ValueContext typeContext, Me

private static <Y> EmbeddableDomainType<Y> embeddableDomainType(ValueContext typeContext, MetadataContext context) {
final Component component = (Component) typeContext.getHibernateValue();
if ( component.isDynamic() ) {
return dynamicEmbeddableType( context, component );
}
else {
// we should have a non-dynamic embeddable
return classEmbeddableType( context, component );
}
return component.isDynamic()
? dynamicEmbeddableType( context, component )
: classEmbeddableType( context, component ); // we should have a non-dynamic embeddable
}

private static <Y> EmbeddableDomainType<Y> classEmbeddableType(MetadataContext context, Component component) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,9 @@ public Map<Class<?>, MappedSuperclassDomainType<?>> getMappedSuperclassTypeMap()
}

public void registerEntityType(PersistentClass persistentClass, EntityTypeImpl<?> entityType) {
if ( entityType.getBindableJavaType() != null && entityType.getBindableJavaType() != Map.class ) {
entityTypes.put( entityType.getBindableJavaType(), entityType );
final Class<?> javaType = entityType.getJavaType();
if ( javaType != null && javaType != Map.class ) {
entityTypes.put( javaType, entityType );
}

identifiableTypesByName.put( persistentClass.getEntityName(), entityType );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,11 @@ public Class<Y> getJpaBindableType() {

@Override
public ValueClassification getValueClassification() {
switch ( attributeClassification ) {
case EMBEDDED: {
return ValueClassification.EMBEDDABLE;
}
case BASIC: {
return ValueClassification.BASIC;
}
default: {
return ValueClassification.ENTITY;
}
}
return switch ( attributeClassification ) {
case EMBEDDED -> ValueClassification.EMBEDDABLE;
case BASIC -> ValueClassification.BASIC;
default -> ValueClassification.ENTITY;
};
}

@Override
Expand Down
Loading
Loading