47
47
import org .hibernate .metamodel .model .domain .BasicDomainType ;
48
48
import org .hibernate .metamodel .model .domain .EmbeddableDomainType ;
49
49
import org .hibernate .metamodel .model .domain .EntityDomainType ;
50
+ import org .hibernate .metamodel .model .domain .JpaMetamodel ;
50
51
import org .hibernate .metamodel .model .domain .ManagedDomainType ;
51
52
import org .hibernate .metamodel .model .domain .NavigableRole ;
52
53
import org .hibernate .metamodel .model .domain .TupleType ;
53
54
import org .hibernate .metamodel .model .domain .spi .JpaMetamodelImplementor ;
54
55
import org .hibernate .metamodel .spi .EntityRepresentationStrategy ;
55
56
import org .hibernate .metamodel .spi .MappingMetamodelImplementor ;
56
- import org .hibernate .metamodel .spi .MetamodelImplementor ;
57
57
import org .hibernate .metamodel .spi .RuntimeModelCreationContext ;
58
58
import org .hibernate .persister .collection .CollectionPersister ;
59
59
import org .hibernate .persister .entity .EntityPersister ;
78
78
import jakarta .persistence .metamodel .EmbeddableType ;
79
79
import jakarta .persistence .metamodel .EntityType ;
80
80
import jakarta .persistence .metamodel .ManagedType ;
81
+ import jakarta .persistence .metamodel .Metamodel ;
81
82
82
83
import static org .hibernate .internal .util .collections .ArrayHelper .EMPTY_STRING_ARRAY ;
83
84
import static org .hibernate .metamodel .internal .JpaMetamodelPopulationSetting .determineJpaMetaModelPopulationSetting ;
94
95
* @author Andrea Boriero
95
96
*/
96
97
public class MappingMetamodelImpl extends QueryParameterBindingTypeResolverImpl
97
- implements MappingMetamodelImplementor , MetamodelImplementor , Serializable {
98
+ implements MappingMetamodelImplementor ,JpaMetamodel , Metamodel , Serializable {
98
99
// todo : Integrate EntityManagerLogger into CoreMessageLogger
99
100
private static final CoreMessageLogger log = CoreLogging .messageLogger ( MappingMetamodelImpl .class );
100
101
@@ -346,11 +347,6 @@ private static void registerEntityNameResolvers(
346
347
representationStrategy .visitEntityNameResolvers ( entityNameResolvers ::add );
347
348
}
348
349
349
- @ Override @ SuppressWarnings ("deprecation" )
350
- public java .util .Collection <EntityNameResolver > getEntityNameResolvers () {
351
- return entityNameResolvers ;
352
- }
353
-
354
350
@ Override
355
351
public TypeConfiguration getTypeConfiguration () {
356
352
return jpaMetamodel .getTypeConfiguration ();
@@ -361,7 +357,6 @@ public MappingMetamodel getMappingMetamodel() {
361
357
return this ;
362
358
}
363
359
364
- @ Override
365
360
public ServiceRegistry getServiceRegistry () {
366
361
return jpaMetamodel .getServiceRegistry ();
367
362
}
@@ -545,7 +540,6 @@ public <E extends Enum<E>> E enumValue(EnumJavaType<E> enumType, String enumValu
545
540
return jpaMetamodel .enumValue ( enumType , enumValueName );
546
541
}
547
542
548
- @ Override
549
543
public String [] getImplementors (String className ) throws MappingException {
550
544
// computeIfAbsent() can be a contention point and we expect all the values to be in the map at some point so
551
545
// let's do an optimistic check first
@@ -572,38 +566,7 @@ public String[] getImplementors(String className) throws MappingException {
572
566
}
573
567
}
574
568
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
- }
598
569
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
- }
607
570
608
571
@ Override
609
572
public EntityPersister locateEntityPersister (String byName ) {
@@ -654,21 +617,6 @@ public CollectionPersister findCollectionDescriptor(String role) {
654
617
return collectionPersisterMap .get ( role );
655
618
}
656
619
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
-
672
620
@ Override
673
621
public <T > void addNamedEntityGraph (String graphName , RootGraphImplementor <T > entityGraph ) {
674
622
jpaMetamodel .addNamedEntityGraph ( graphName , entityGraph );
@@ -741,18 +689,18 @@ public List<RootGraph<?>> findRootGraphsForType(EntityPersister baseEntityDescri
741
689
742
690
private String [] doGetImplementors (Class <?> clazz ) throws MappingException {
743
691
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 ();
746
694
final boolean isMappedClass = clazz .getName ().equals ( checkQueryableEntityName );
747
695
if ( isMappedClass ) {
748
696
results .add ( checkQueryableEntityName );
749
697
}
750
698
else {
751
- final Class <?> mappedClass = checkPersister .getMappedClass ();
699
+ final Class <?> mappedClass = descriptor .getMappedClass ();
752
700
if ( mappedClass != null && clazz .isAssignableFrom ( mappedClass ) ) {
753
701
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 ();
756
704
final Class <?> mappedSuperclass = getEntityDescriptor ( superTypeName ).getMappedClass ();
757
705
assignableSuperclass = clazz .isAssignableFrom ( mappedSuperclass );
758
706
}
@@ -764,8 +712,7 @@ private String[] doGetImplementors(Class<?> clazz) throws MappingException {
764
712
}
765
713
}
766
714
}
767
- }
768
-
715
+ } );
769
716
return results .toArray ( EMPTY_STRING_ARRAY );
770
717
}
771
718
@@ -872,4 +819,30 @@ public <T> BindableType<T> resolveQueryParameterType(Class<T> javaClass) {
872
819
873
820
return null ;
874
821
}
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
+ }
875
848
}
0 commit comments