Skip to content

Commit af8c107

Browse files
committed
HHH-19466 remove an unused method of MappingMetamodel and add @Apinotes
1 parent 3724f1b commit af8c107

File tree

4 files changed

+51
-57
lines changed

4 files changed

+51
-57
lines changed

hibernate-core/src/main/java/org/hibernate/metamodel/MappingMetamodel.java

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.hibernate.graph.RootGraph;
1515
import org.hibernate.metamodel.mapping.EmbeddableValuedModelPart;
1616
import org.hibernate.metamodel.mapping.MappingModelExpressible;
17-
import org.hibernate.type.BindableType;
1817
import org.hibernate.metamodel.model.domain.EntityDomainType;
1918
import org.hibernate.metamodel.model.domain.NavigableRole;
2019
import org.hibernate.persister.collection.CollectionPersister;
@@ -29,6 +28,8 @@
2928
/**
3029
* Access to information about the runtime relational O/R mapping model.
3130
*
31+
* @apiNote This is an incubating SPI. Its name and package may change.
32+
*
3233
* @author Steve Ebersole
3334
*/
3435
@Incubating
@@ -38,23 +39,6 @@ public interface MappingMetamodel extends Metamodel {
3839
*/
3940
TypeConfiguration getTypeConfiguration();
4041

41-
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42-
// SQM model -> Mapping model
43-
44-
// todo (6.0) : POC intended for use in SQM to SQL translation
45-
@Internal
46-
MappingModelExpressible<?> resolveMappingExpressible(
47-
SqmExpressible<?> sqmExpressible,
48-
Function<NavigablePath,
49-
TableGroup> tableGroupLocator);
50-
51-
/**
52-
* Given a Java type, determine the corresponding BindableType to
53-
* use implicitly
54-
*/
55-
<T> BindableType<T> resolveQueryParameterType(Class<T> javaType);
56-
57-
5842
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5943
// Entity descriptors
6044

@@ -195,4 +179,14 @@ MappingModelExpressible<?> resolveMappingExpressible(
195179
List<RootGraph<?>> findRootGraphsForType(Class<?> baseEntityJavaType);
196180
List<RootGraph<?>> findRootGraphsForType(String baseEntityName);
197181
List<RootGraph<?>> findRootGraphsForType(EntityPersister baseEntityDescriptor);
182+
183+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
184+
// SQM model -> Mapping model
185+
186+
// TODO Layer breaker used in SQM to SQL translation.
187+
// Consider moving to QueryEngine or collaborators.
188+
@Internal
189+
MappingModelExpressible<?> resolveMappingExpressible(
190+
SqmExpressible<?> sqmExpressible,
191+
Function<NavigablePath, TableGroup> tableGroupLocator);
198192
}

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/JpaMetamodel.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
* Extensions to the JPA-defined {@linkplain Metamodel metamodel} of
2323
* persistent Java types.
2424
*
25+
* @apiNote This is an incubating API. Its name and package may change.
26+
*
2527
* @see MappingMetamodel
2628
*
2729
* @since 6.0

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/NavigableRole.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.io.Serializable;
88

9+
import org.hibernate.Incubating;
910
import org.hibernate.internal.util.StringHelper;
1011
import org.hibernate.spi.DotIdentifierSequence;
1112
import org.hibernate.spi.NavigablePath;
@@ -14,17 +15,18 @@
1415
* A compound path which represents a {@link org.hibernate.metamodel.mapping.ModelPart}
1516
* and uniquely identifies it with the runtime metamodel.
1617
* <p/>
17-
* The {@linkplain #isRoot() root} will name either an
18+
* The {@linkplain #isRoot root} will name either an
1819
* {@linkplain org.hibernate.metamodel.MappingMetamodel#getEntityDescriptor entity} or
19-
* {@linkplain org.hibernate.metamodel.MappingMetamodel#getCollectionDescriptor collection}
20+
* {@linkplain org.hibernate.metamodel.MappingMetamodel#getCollectionDescriptor collection}.
2021
*
21-
*
22-
* @apiNote Poorly named. Should probably have been `org.hibernate.metamodel.model.mapping.MappingRole`;
22+
* @apiNote This is an incubating SPI type, and will move to {@link org.hibernate.spi}.
23+
* It might be renamed to {@code org.hibernate.metamodel.model.mapping.MappingRole};
2324
* the term "navigable" here is meant to indicate that we could navigate to the specific
2425
* {@link org.hibernate.metamodel.mapping.ModelPart} given the role.
2526
*
2627
* @author Steve Ebersole
2728
*/
29+
@Incubating
2830
public final class NavigableRole implements DotIdentifierSequence, Serializable {
2931
public static final String IDENTIFIER_MAPPER_PROPERTY = NavigablePath.IDENTIFIER_MAPPER_PROPERTY;
3032

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/MappingMetamodelImpl.java

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -706,32 +706,53 @@ else if ( sqmExpressible instanceof TupleType<?> tupleType ) {
706706
}
707707

708708
@Override
709-
public <T> BindableType<T> resolveQueryParameterType(Class<T> javaClass) {
709+
public Set<String> getCollectionRolesByEntityParticipant(String entityName) {
710+
return collectionRolesByEntityParticipant.get( entityName );
711+
}
712+
713+
@Override
714+
public java.util.Collection<EntityNameResolver> getEntityNameResolvers() {
715+
return entityNameResolvers;
716+
}
717+
718+
@Override
719+
public String[] getAllEntityNames() {
720+
return entityPersisterMap.keys();
721+
}
722+
723+
@Override
724+
public String[] getAllCollectionRoles() {
725+
return ArrayHelper.toStringArray( collectionPersisterMap.keySet() );
726+
}
727+
728+
@Override
729+
public <T> BindableType<T> resolveParameterBindType(Class<T> javaType) {
710730
final TypeConfiguration typeConfiguration = getTypeConfiguration();
711731

712-
final BasicType<T> basicType = typeConfiguration.getBasicTypeForJavaType( javaClass );
732+
final BasicType<T> basicType = typeConfiguration.getBasicTypeForJavaType( javaType );
713733
// For enums, we simply don't know the exact mapping if there is no basic type registered
714-
if ( basicType != null || javaClass.isEnum() ) {
734+
if ( basicType != null || javaType.isEnum() ) {
715735
return basicType;
716736
}
717737

718-
final ManagedDomainType<T> managedType = jpaMetamodel.findManagedType( javaClass );
738+
final ManagedDomainType<T> managedType = jpaMetamodel.findManagedType( javaType );
719739
if ( managedType != null ) {
720740
return (BindableType<T>) managedType;
721741
}
722742

723743
final JavaTypeRegistry javaTypeRegistry = typeConfiguration.getJavaTypeRegistry();
724-
final JavaType<T> javaType = javaTypeRegistry.findDescriptor( javaClass );
725-
if ( javaType != null ) {
744+
final JavaType<T> javaType1 = javaTypeRegistry.findDescriptor( javaType );
745+
if ( javaType1 != null ) {
726746
final JdbcType recommendedJdbcType =
727-
javaType.getRecommendedJdbcType( typeConfiguration.getCurrentBaseSqlTypeIndicators() );
747+
javaType1.getRecommendedJdbcType( typeConfiguration.getCurrentBaseSqlTypeIndicators() );
728748
if ( recommendedJdbcType != null ) {
729-
return typeConfiguration.getBasicTypeRegistry().resolve( javaType, recommendedJdbcType );
749+
return typeConfiguration.getBasicTypeRegistry().resolve( javaType1, recommendedJdbcType );
730750
}
731751
}
732752

733-
if ( javaClass.isArray() && javaTypeRegistry.findDescriptor( javaClass.getComponentType() ) != null ) {
734-
final JavaType<T> resolvedJavaType = javaTypeRegistry.resolveDescriptor( javaClass );
753+
if ( javaType.isArray()
754+
&& javaTypeRegistry.findDescriptor( javaType.getComponentType() ) != null ) {
755+
final JavaType<T> resolvedJavaType = javaTypeRegistry.resolveDescriptor( javaType );
735756
final JdbcType recommendedJdbcType =
736757
resolvedJavaType.getRecommendedJdbcType( typeConfiguration.getCurrentBaseSqlTypeIndicators() );
737758
if ( recommendedJdbcType != null ) {
@@ -742,31 +763,6 @@ public <T> BindableType<T> resolveQueryParameterType(Class<T> javaClass) {
742763
return null;
743764
}
744765

745-
@Override
746-
public Set<String> getCollectionRolesByEntityParticipant(String entityName) {
747-
return collectionRolesByEntityParticipant.get( entityName );
748-
}
749-
750-
@Override
751-
public java.util.Collection<EntityNameResolver> getEntityNameResolvers() {
752-
return entityNameResolvers;
753-
}
754-
755-
@Override
756-
public String[] getAllEntityNames() {
757-
return entityPersisterMap.keys();
758-
}
759-
760-
@Override
761-
public String[] getAllCollectionRoles() {
762-
return ArrayHelper.toStringArray( collectionPersisterMap.keySet() );
763-
}
764-
765-
@Override
766-
public <T> BindableType<T> resolveParameterBindType(Class<T> javaType) {
767-
return resolveQueryParameterType( javaType );
768-
}
769-
770766
@Override
771767
public <T> BindableType<? super T> resolveParameterBindType(T bindValue) {
772768
if ( bindValue == null ) {

0 commit comments

Comments
 (0)