Skip to content

Commit fee9e86

Browse files
committed
HHH-18457 Remove deprecated org.hibernate.Metamodel and org.hibernate.metamodel.spi.MetamodelImplementor
1 parent 5b25d09 commit fee9e86

File tree

17 files changed

+95
-282
lines changed

17 files changed

+95
-282
lines changed

hibernate-core/src/main/java/org/hibernate/Metamodel.java

Lines changed: 0 additions & 30 deletions
This file was deleted.

hibernate-core/src/main/java/org/hibernate/engine/spi/SessionFactoryDelegatingImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
import org.hibernate.event.spi.EventEngine;
3939
import org.hibernate.graph.spi.RootGraphImplementor;
4040
import org.hibernate.internal.FastSessionServices;
41+
import org.hibernate.metamodel.MappingMetamodel;
4142
import org.hibernate.metamodel.model.domain.JpaMetamodel;
42-
import org.hibernate.metamodel.spi.MetamodelImplementor;
4343
import org.hibernate.metamodel.spi.RuntimeMetamodelsImplementor;
4444
import org.hibernate.proxy.EntityNotFoundDelegate;
4545
import org.hibernate.query.BindableType;
@@ -373,8 +373,8 @@ public HibernateCriteriaBuilder getCriteriaBuilder() {
373373
}
374374

375375
@Override @Deprecated
376-
public MetamodelImplementor getMetamodel() {
377-
return delegate.getMetamodel();
376+
public MappingMetamodel getMetamodel() {
377+
return (MappingMetamodel) delegate.getMetamodel();
378378
}
379379

380380
@Override

hibernate-core/src/main/java/org/hibernate/engine/spi/SessionFactoryImplementor.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.hibernate.graph.spi.RootGraphImplementor;
2121
import org.hibernate.internal.FastSessionServices;
2222
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
23-
import org.hibernate.metamodel.spi.MetamodelImplementor;
2423
import org.hibernate.metamodel.spi.RuntimeMetamodelsImplementor;
2524
import org.hibernate.proxy.EntityNotFoundDelegate;
2625
import org.hibernate.query.spi.QueryParameterBindingTypeResolver;
@@ -180,12 +179,4 @@ default MappingMetamodelImplementor getMappingMetamodel() {
180179
*/
181180
String bestGuessEntityName(Object object);
182181

183-
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
184-
// Deprecations
185-
186-
/**
187-
* @deprecated no longer for internal use, use {@link #getMappingMetamodel()} or {@link #getJpaMetamodel()}
188-
*/
189-
@Override @Deprecated
190-
MetamodelImplementor getMetamodel();
191182
}

hibernate-core/src/main/java/org/hibernate/internal/SessionFactoryImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@
7575
import org.hibernate.mapping.GeneratorSettings;
7676
import org.hibernate.mapping.PersistentClass;
7777
import org.hibernate.mapping.RootClass;
78+
import org.hibernate.metamodel.MappingMetamodel;
7879
import org.hibernate.metamodel.internal.RuntimeMetamodelsImpl;
7980
import org.hibernate.metamodel.mapping.JdbcMapping;
8081
import org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl;
8182
import org.hibernate.metamodel.model.domain.spi.JpaMetamodelImplementor;
8283
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
83-
import org.hibernate.metamodel.spi.MetamodelImplementor;
8484
import org.hibernate.metamodel.spi.RuntimeMetamodelsImplementor;
8585
import org.hibernate.metamodel.spi.RuntimeModelCreationContext;
8686
import org.hibernate.persister.entity.SessionFactoryBasedWrapperOptions;
@@ -637,10 +637,10 @@ public NodeBuilder getCriteriaBuilder() {
637637
return queryEngine.getCriteriaBuilder();
638638
}
639639

640-
@Override @Deprecated
641-
public MetamodelImplementor getMetamodel() {
640+
@Override
641+
public MappingMetamodel getMetamodel() {
642642
validateNotClosed();
643-
return (MetamodelImplementor) runtimeMetamodels.getMappingMetamodel();
643+
return runtimeMetamodels.getMappingMetamodel();
644644
}
645645

646646
@Override
@@ -757,7 +757,7 @@ public void close() throws HibernateException {
757757
}
758758
}
759759
);
760-
// ( (MappingMetamodelImpl) runtimeMetamodels.getMappingMetamodel() ).close();
760+
runtimeMetamodels.getMappingMetamodel().close();
761761
}
762762

763763
if ( queryEngine != null ) {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@
2424
import org.hibernate.sql.ast.tree.from.TableGroup;
2525
import org.hibernate.type.spi.TypeConfiguration;
2626

27+
import jakarta.persistence.metamodel.Metamodel;
28+
2729
/**
2830
* Access to information about the runtime relational O/R mapping model.
2931
*
3032
* @author Steve Ebersole
3133
*/
3234
@Incubating
33-
public interface MappingMetamodel {
35+
public interface MappingMetamodel extends Metamodel {
3436
/**
3537
* The {@link TypeConfiguration} this metamodel is associated with
3638
*/

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

Lines changed: 35 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@
4747
import org.hibernate.metamodel.model.domain.BasicDomainType;
4848
import org.hibernate.metamodel.model.domain.EmbeddableDomainType;
4949
import org.hibernate.metamodel.model.domain.EntityDomainType;
50+
import org.hibernate.metamodel.model.domain.JpaMetamodel;
5051
import org.hibernate.metamodel.model.domain.ManagedDomainType;
5152
import org.hibernate.metamodel.model.domain.NavigableRole;
5253
import org.hibernate.metamodel.model.domain.TupleType;
5354
import org.hibernate.metamodel.model.domain.spi.JpaMetamodelImplementor;
5455
import org.hibernate.metamodel.spi.EntityRepresentationStrategy;
5556
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
56-
import org.hibernate.metamodel.spi.MetamodelImplementor;
5757
import org.hibernate.metamodel.spi.RuntimeModelCreationContext;
5858
import org.hibernate.persister.collection.CollectionPersister;
5959
import org.hibernate.persister.entity.EntityPersister;
@@ -78,6 +78,7 @@
7878
import jakarta.persistence.metamodel.EmbeddableType;
7979
import jakarta.persistence.metamodel.EntityType;
8080
import jakarta.persistence.metamodel.ManagedType;
81+
import jakarta.persistence.metamodel.Metamodel;
8182

8283
import static org.hibernate.internal.util.collections.ArrayHelper.EMPTY_STRING_ARRAY;
8384
import static org.hibernate.metamodel.internal.JpaMetamodelPopulationSetting.determineJpaMetaModelPopulationSetting;
@@ -94,7 +95,7 @@
9495
* @author Andrea Boriero
9596
*/
9697
public class MappingMetamodelImpl extends QueryParameterBindingTypeResolverImpl
97-
implements MappingMetamodelImplementor, MetamodelImplementor, Serializable {
98+
implements MappingMetamodelImplementor,JpaMetamodel, Metamodel, Serializable {
9899
// todo : Integrate EntityManagerLogger into CoreMessageLogger
99100
private static final CoreMessageLogger log = CoreLogging.messageLogger( MappingMetamodelImpl.class );
100101

@@ -346,11 +347,6 @@ private static void registerEntityNameResolvers(
346347
representationStrategy.visitEntityNameResolvers( entityNameResolvers::add );
347348
}
348349

349-
@Override @SuppressWarnings("deprecation")
350-
public java.util.Collection<EntityNameResolver> getEntityNameResolvers() {
351-
return entityNameResolvers;
352-
}
353-
354350
@Override
355351
public TypeConfiguration getTypeConfiguration() {
356352
return jpaMetamodel.getTypeConfiguration();
@@ -361,7 +357,6 @@ public MappingMetamodel getMappingMetamodel() {
361357
return this;
362358
}
363359

364-
@Override
365360
public ServiceRegistry getServiceRegistry() {
366361
return jpaMetamodel.getServiceRegistry();
367362
}
@@ -545,7 +540,6 @@ public <E extends Enum<E>> E enumValue(EnumJavaType<E> enumType, String enumValu
545540
return jpaMetamodel.enumValue( enumType, enumValueName );
546541
}
547542

548-
@Override
549543
public String[] getImplementors(String className) throws MappingException {
550544
// computeIfAbsent() can be a contention point and we expect all the values to be in the map at some point so
551545
// let's do an optimistic check first
@@ -572,38 +566,7 @@ public String[] getImplementors(String className) throws MappingException {
572566
}
573567
}
574568

575-
@Override @SuppressWarnings("deprecation")
576-
public Map<String, EntityPersister> entityPersisters() {
577-
return entityPersisterMap.convertToMap();
578-
}
579-
580-
@Override @SuppressWarnings("deprecation")
581-
public CollectionPersister collectionPersister(String role) {
582-
final CollectionPersister persister = collectionPersisterMap.get( role );
583-
if ( persister == null ) {
584-
throw new MappingException( "Could not locate CollectionPersister for role : " + role );
585-
}
586-
return persister;
587-
}
588-
589-
@Override @SuppressWarnings("deprecation")
590-
public Map<String, CollectionPersister> collectionPersisters() {
591-
return collectionPersisterMap;
592-
}
593-
594-
@Override @SuppressWarnings("deprecation")
595-
public EntityPersister entityPersister(Class<?> entityClass) {
596-
return getEntityDescriptor( entityClass.getName() );
597-
}
598569

599-
@Override @SuppressWarnings("deprecation")
600-
public EntityPersister entityPersister(String entityName) throws MappingException {
601-
final EntityPersister result = entityPersisterMap.get( entityName );
602-
if ( result == null ) {
603-
throw new MappingException( "Unknown entity: " + entityName );
604-
}
605-
return result;
606-
}
607570

608571
@Override
609572
public EntityPersister locateEntityPersister(String byName) {
@@ -654,21 +617,6 @@ public CollectionPersister findCollectionDescriptor(String role) {
654617
return collectionPersisterMap.get( role );
655618
}
656619

657-
@Override @SuppressWarnings("deprecation")
658-
public Set<String> getCollectionRolesByEntityParticipant(String entityName) {
659-
return collectionRolesByEntityParticipant.get( entityName );
660-
}
661-
662-
@Override
663-
public String[] getAllEntityNames() {
664-
return entityPersisterMap.keys();
665-
}
666-
667-
@Override
668-
public String[] getAllCollectionRoles() {
669-
return ArrayHelper.toStringArray( collectionPersisterMap.keySet() );
670-
}
671-
672620
@Override
673621
public <T> void addNamedEntityGraph(String graphName, RootGraphImplementor<T> entityGraph) {
674622
jpaMetamodel.addNamedEntityGraph( graphName, entityGraph );
@@ -741,18 +689,18 @@ public List<RootGraph<?>> findRootGraphsForType(EntityPersister baseEntityDescri
741689

742690
private String[] doGetImplementors(Class<?> clazz) throws MappingException {
743691
final ArrayList<String> results = new ArrayList<>();
744-
for ( EntityPersister checkPersister : entityPersisters().values() ) {
745-
final String checkQueryableEntityName = ((EntityMappingType) checkPersister).getEntityName();
692+
forEachEntityDescriptor( descriptor -> {
693+
final String checkQueryableEntityName = ((EntityMappingType) descriptor).getEntityName();
746694
final boolean isMappedClass = clazz.getName().equals( checkQueryableEntityName );
747695
if ( isMappedClass ) {
748696
results.add( checkQueryableEntityName );
749697
}
750698
else {
751-
final Class<?> mappedClass = checkPersister.getMappedClass();
699+
final Class<?> mappedClass = descriptor.getMappedClass();
752700
if ( mappedClass != null && clazz.isAssignableFrom( mappedClass ) ) {
753701
final boolean assignableSuperclass;
754-
if ( checkPersister.isInherited() ) {
755-
final String superTypeName = checkPersister.getSuperMappingType().getEntityName();
702+
if ( descriptor.isInherited() ) {
703+
final String superTypeName = descriptor.getSuperMappingType().getEntityName();
756704
final Class<?> mappedSuperclass = getEntityDescriptor( superTypeName ).getMappedClass();
757705
assignableSuperclass = clazz.isAssignableFrom( mappedSuperclass );
758706
}
@@ -764,8 +712,7 @@ private String[] doGetImplementors(Class<?> clazz) throws MappingException {
764712
}
765713
}
766714
}
767-
}
768-
715+
} );
769716
return results.toArray( EMPTY_STRING_ARRAY );
770717
}
771718

@@ -872,4 +819,30 @@ public <T> BindableType<T> resolveQueryParameterType(Class<T> javaClass) {
872819

873820
return null;
874821
}
822+
823+
@Override
824+
public Set<String> getCollectionRolesByEntityParticipant(String entityName) {
825+
return collectionRolesByEntityParticipant.get( entityName );
826+
827+
}
828+
829+
@Override
830+
public java.util.Collection<EntityNameResolver> getEntityNameResolvers() {
831+
return entityNameResolvers;
832+
}
833+
834+
@Override
835+
public String[] getAllEntityNames() {
836+
return entityPersisterMap.keys();
837+
}
838+
839+
@Override
840+
public String[] getAllCollectionRoles() {
841+
return ArrayHelper.toStringArray( collectionPersisterMap.keySet() );
842+
}
843+
844+
@Override
845+
public void close() {
846+
// anything to do ?
847+
}
875848
}

hibernate-core/src/main/java/org/hibernate/metamodel/spi/MappingMetamodelImplementor.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
import org.hibernate.EntityNameResolver;
1111
import org.hibernate.metamodel.MappingMetamodel;
12+
import org.hibernate.persister.collection.CollectionPersister;
13+
import org.hibernate.persister.entity.EntityPersister;
1214
import org.hibernate.query.spi.QueryParameterBindingTypeResolver;
1315

1416
/**
@@ -32,4 +34,30 @@ public interface MappingMetamodelImplementor extends MappingMetamodel, QueryPara
3234
*/
3335
Collection<EntityNameResolver> getEntityNameResolvers();
3436

37+
/**
38+
* Get the names of all entities known to this Metamodel
39+
*
40+
* @return All the entity names
41+
*/
42+
default String[] getAllEntityNames() {
43+
return streamEntityDescriptors()
44+
.map( EntityPersister::getEntityName )
45+
.toArray( String[]::new );
46+
}
47+
48+
/**
49+
* Get the names of all collections known to this Metamodel
50+
*
51+
* @return All the entity names
52+
*/
53+
default String[] getAllCollectionRoles(){
54+
return streamCollectionDescriptors()
55+
.map( CollectionPersister::getRole )
56+
.toArray( String[]::new );
57+
}
58+
59+
default void close() {
60+
61+
}
62+
3563
}

0 commit comments

Comments
 (0)