From 6b99f9726d355835c5c826b7564b91c6b32e0681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yoann=20Rodi=C3=A8re?= Date: Wed, 26 Jan 2022 10:07:52 +0100 Subject: [PATCH] HSEARCH-4465 Avoid deprecated ORM API/SPI --- .../outboxpolling/OutboxPollingDisabledIT.java | 2 +- .../OutboxPollingStrategyPropertyValueIT.java | 2 +- .../mapper/orm/model/BackRefPropertyIT.java | 2 +- .../mapper/orm/model/SyntheticPropertyIT.java | 2 +- .../massindexing/util/impl/PersistenceUtil.java | 2 +- .../impl/OutboxPollingSearchMappingImpl.java | 9 +++++---- .../mapper/orm/common/impl/HibernateOrmUtils.java | 4 ++-- ...HibernateOrmEntityIdEntityLoadingStrategy.java | 2 +- .../mapper/orm/loading/impl/TypeQueryFactory.java | 2 +- .../impl/AbstractHibernateOrmTypeContext.java | 2 +- ...bernateOrmMappingConfigurationContributor.java | 6 ++---- ...teOrmMappingPropertiesMetadataContributor.java | 9 ++------- .../HibernateOrmBasicTypeMetadataProvider.java | 8 ++++---- .../model/impl/HibernateOrmPathsDefinition.java | 4 +--- .../mapper/orm/ReusableOrmSetupHolder.java | 9 +++++---- ...ultitenancyTestHelperSchemaManagementTool.java | 15 +++++---------- 16 files changed, 34 insertions(+), 46 deletions(-) diff --git a/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingDisabledIT.java b/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingDisabledIT.java index ef59998f6f0..e43f3b38e5b 100644 --- a/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingDisabledIT.java +++ b/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingDisabledIT.java @@ -83,7 +83,7 @@ public List setupParams() { @Test public void metamodel_onlyUserEntities() { - assertThat( setupHolder.sessionFactory().getMetamodel().getEntities() ) + assertThat( setupHolder.sessionFactory().getJpaMetamodel().getEntities() ) .extracting( EntityType::getName ) .containsOnly( IndexedEntity.NAME ); } diff --git a/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingStrategyPropertyValueIT.java b/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingStrategyPropertyValueIT.java index a3d83491fa3..7bb088d657d 100644 --- a/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingStrategyPropertyValueIT.java +++ b/integrationtest/mapper/orm-coordination-outbox-polling/src/test/java/org/hibernate/search/integrationtest/mapper/orm/coordination/outboxpolling/OutboxPollingStrategyPropertyValueIT.java @@ -101,7 +101,7 @@ public void resetFilter() { @Test public void metamodel_userEntitiesAndOutboxEventAndAgent() { - assertThat( setupHolder.sessionFactory().getMetamodel().getEntities() ) + assertThat( setupHolder.sessionFactory().getJpaMetamodel().getEntities() ) .>extracting( Type::getJavaType ) .containsExactlyInAnyOrder( IndexedEntity.class, OutboxEvent.class, Agent.class ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BackRefPropertyIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BackRefPropertyIT.java index 8995f6a78cc..34c4c1b092b 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BackRefPropertyIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BackRefPropertyIT.java @@ -61,7 +61,7 @@ public void test() { // Hibernate Search started successfully. // Check that there actually is a backref: - MappingMetamodel metamodel = sessionFactory.unwrap( SessionFactoryImplementor.class ).getMetamodel(); + MappingMetamodel metamodel = sessionFactory.unwrap( SessionFactoryImplementor.class ).getMappingMetamodel(); assertThat( metamodel.getEntityDescriptor( IndexedEntity.class ).getPropertyNames() ) .contains( "_containing_fk_containingidBackref" ) .contains( "_containingIndexBackref" ); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/SyntheticPropertyIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/SyntheticPropertyIT.java index e4438a5b269..79d8d96c293 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/SyntheticPropertyIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/SyntheticPropertyIT.java @@ -56,7 +56,7 @@ public void test() { // Hibernate Search started successfully. // Check that there actually is a synthetic property: - MappingMetamodel metamodel = sessionFactory.unwrap( SessionFactoryImplementor.class ).getMetamodel(); + MappingMetamodel metamodel = sessionFactory.unwrap( SessionFactoryImplementor.class ).getMappingMetamodel(); assertThat( metamodel.getEntityDescriptor( ContainedEntity.class ).getPropertyNames() ) .contains( "_" + IndexedEntity.class.getName().replace( '.', '_' ) + "_contained" ); diff --git a/mapper/orm-batch-jsr352/core/src/main/java/org/hibernate/search/batch/jsr352/core/massindexing/util/impl/PersistenceUtil.java b/mapper/orm-batch-jsr352/core/src/main/java/org/hibernate/search/batch/jsr352/core/massindexing/util/impl/PersistenceUtil.java index 377dc213e0d..e5cdce650eb 100644 --- a/mapper/orm-batch-jsr352/core/src/main/java/org/hibernate/search/batch/jsr352/core/massindexing/util/impl/PersistenceUtil.java +++ b/mapper/orm-batch-jsr352/core/src/main/java/org/hibernate/search/batch/jsr352/core/massindexing/util/impl/PersistenceUtil.java @@ -93,7 +93,7 @@ public static IndexScope getIndexScope(String hql) { public static List createDescriptors(EntityManagerFactory entityManagerFactory, Set> types) { SessionFactoryImplementor sessionFactory = entityManagerFactory.unwrap( SessionFactoryImplementor.class ); List result = new ArrayList<>( types.size() ); - MappingMetamodel metamodel = sessionFactory.getMetamodel(); + MappingMetamodel metamodel = sessionFactory.getMappingMetamodel(); for ( Class type : types ) { result.add( createDescriptor( metamodel, type ) ); } diff --git a/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/mapping/impl/OutboxPollingSearchMappingImpl.java b/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/mapping/impl/OutboxPollingSearchMappingImpl.java index 8af4b57c487..b350b8eb459 100644 --- a/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/mapping/impl/OutboxPollingSearchMappingImpl.java +++ b/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/mapping/impl/OutboxPollingSearchMappingImpl.java @@ -14,6 +14,7 @@ import org.hibernate.Session; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SharedSessionContractImplementor; +import org.hibernate.query.MutationQuery; import org.hibernate.query.Query; import org.hibernate.search.mapper.orm.common.spi.TransactionHelper; import org.hibernate.search.mapper.orm.coordination.common.spi.CoordinationStrategyStartContext; @@ -76,7 +77,7 @@ public int reprocessAbortedEvents() { try ( Session session = sessionFactory.openSession() ) { return transactionHelper.inTransaction( (SharedSessionContractImplementor) session, () -> { - Query query = session.createQuery( UPDATE_EVENTS_WITH_STATUS ); + MutationQuery query = session.createMutationQuery( UPDATE_EVENTS_WITH_STATUS ); query.setParameter( "status", OutboxEvent.Status.ABORTED ); query.setParameter( "newStatus", OutboxEvent.Status.PENDING ); return query.executeUpdate(); @@ -90,7 +91,7 @@ public int reprocessAbortedEvents(String tenantId) { try ( Session session = sessionFactory.withOptions().tenantIdentifier( tenantId ).openSession() ) { return transactionHelper.inTransaction( (SharedSessionContractImplementor) session, () -> { - Query query = session.createQuery( UPDATE_EVENTS_WITH_STATUS ); + MutationQuery query = session.createMutationQuery( UPDATE_EVENTS_WITH_STATUS ); query.setParameter( "status", OutboxEvent.Status.ABORTED ); query.setParameter( "newStatus", OutboxEvent.Status.PENDING ); return query.executeUpdate(); @@ -104,7 +105,7 @@ public int clearAllAbortedEvents() { try ( Session session = sessionFactory.openSession() ) { return transactionHelper.inTransaction( (SharedSessionContractImplementor) session, () -> { - Query query = session.createQuery( DELETE_EVENTS_WITH_STATUS ); + MutationQuery query = session.createMutationQuery( DELETE_EVENTS_WITH_STATUS ); query.setParameter( "status", OutboxEvent.Status.ABORTED ); return query.executeUpdate(); } ); @@ -117,7 +118,7 @@ public int clearAllAbortedEvents(String tenantId) { try ( Session session = sessionFactory.withOptions().tenantIdentifier( tenantId ).openSession() ) { return transactionHelper.inTransaction( (SharedSessionContractImplementor) session, () -> { - Query query = session.createQuery( DELETE_EVENTS_WITH_STATUS ); + MutationQuery query = session.createMutationQuery( DELETE_EVENTS_WITH_STATUS ); query.setParameter( "status", OutboxEvent.Status.ABORTED ); return query.executeUpdate(); } ); diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/common/impl/HibernateOrmUtils.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/common/impl/HibernateOrmUtils.java index 953be7b3c8e..d5f558aff3b 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/common/impl/HibernateOrmUtils.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/common/impl/HibernateOrmUtils.java @@ -77,7 +77,7 @@ public static EntityPersister toRootEntityType(SessionFactoryImplementor session * where A and C are entity types and B is a mapped superclass. * So we need to exclude non-entity types, and for that we need the Hibernate ORM metamodel. */ - MappingMetamodel metamodel = sessionFactory.getMetamodel(); + MappingMetamodel metamodel = sessionFactory.getMappingMetamodel(); String rootEntityName = entityType.getRootEntityName(); return metamodel.getEntityDescriptor( rootEntityName ); } @@ -116,7 +116,7 @@ public static boolean targetsAllConcreteSubTypes(SessionFactoryImplementor sessi return true; } - MappingMetamodel metamodel = sessionFactory.getMetamodel(); + MappingMetamodel metamodel = sessionFactory.getMappingMetamodel(); int concreteSubTypesCount = 0; for ( String subClassEntityName : subClassEntityNames ) { if ( !metamodel.getEntityDescriptor( subClassEntityName ).getEntityMetamodel().isAbstract() ) { diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/HibernateOrmEntityIdEntityLoadingStrategy.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/HibernateOrmEntityIdEntityLoadingStrategy.java index e2121b58796..4d35daf39e9 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/HibernateOrmEntityIdEntityLoadingStrategy.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/HibernateOrmEntityIdEntityLoadingStrategy.java @@ -149,7 +149,7 @@ private PojoSelectionEntityLoader doCreate(EntityPersister entityPersister, private static EntityPersister toMostSpecificCommonEntitySuperType(SessionImplementor session, Iterable> targetEntityTypeContexts) { - MappingMetamodel metamodel = session.getSessionFactory().getMetamodel(); + MappingMetamodel metamodel = session.getSessionFactory().getMappingMetamodel(); EntityPersister result = null; for ( LoadingTypeContext targetTypeContext : targetEntityTypeContexts ) { EntityPersister type = targetTypeContext.entityPersister(); diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/TypeQueryFactory.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/TypeQueryFactory.java index c324497a010..3abdf725916 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/TypeQueryFactory.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/loading/impl/TypeQueryFactory.java @@ -23,7 +23,7 @@ public interface TypeQueryFactory { static TypeQueryFactory create(SessionFactoryImplementor sessionFactory, EntityPersister entityPersister, String uniquePropertyName) { - JpaMetamodel metamodel = sessionFactory.getMetamodel(); + JpaMetamodel metamodel = sessionFactory.getJpaMetamodel(); EntityDomainType typeOrNull = metamodel.entity( entityPersister.getEntityName() ); if ( typeOrNull != null && !( entityPersister.getMappedClass().equals( Map.class ) ) ) { return CriteriaTypeQueryFactory.create( typeOrNull, uniquePropertyName ); diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/AbstractHibernateOrmTypeContext.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/AbstractHibernateOrmTypeContext.java index 9fe06d0a172..3f7aad40251 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/AbstractHibernateOrmTypeContext.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/AbstractHibernateOrmTypeContext.java @@ -44,7 +44,7 @@ abstract class AbstractHibernateOrmTypeContext AbstractHibernateOrmTypeContext(AbstractBuilder builder, SessionFactoryImplementor sessionFactory) { this.typeIdentifier = builder.typeIdentifier; this.jpaEntityName = builder.jpaEntityName; - MappingMetamodel metamodel = sessionFactory.getMetamodel(); + MappingMetamodel metamodel = sessionFactory.getMappingMetamodel(); this.entityPersister = metamodel.getEntityDescriptor( builder.hibernateOrmEntityName ); this.identifierMapping = builder.identifierMapping; this.ascendingSuperTypes = builder.ascendingSuperTypes; diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingConfigurationContributor.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingConfigurationContributor.java index 0318ea858d2..b2bf0307825 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingConfigurationContributor.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingConfigurationContributor.java @@ -59,9 +59,8 @@ public void configure(MappingBuildContext buildContext, PojoMappingConfiguration } // Sort the properties before processing for deterministic iteration - @SuppressWarnings("unchecked") // Hibernate ORM gives us raw types, we must make do. List properties = - HibernateOrmUtils.sortedNonSyntheticProperties( persistentClass.getPropertyIterator() ); + HibernateOrmUtils.sortedNonSyntheticProperties( persistentClass.getProperties().iterator() ); Property identifierProperty = persistentClass.getIdentifierProperty(); Optional identifierPropertyNameOptional = @@ -121,9 +120,8 @@ private void contributeEmbeddableTypeMetadata( */ if ( processedEmbeddableTypes.add( componentTypeModel ) ) { // Sort the properties before processing for deterministic iteration - @SuppressWarnings("unchecked") // Hibernate ORM gives us raw types, we must make do. List properties = - HibernateOrmUtils.sortedNonSyntheticProperties( componentValue.getPropertyIterator() ); + HibernateOrmUtils.sortedNonSyntheticProperties( componentValue.getProperties().iterator() ); configurationCollector.collectContributor( componentTypeModel, new ErrorCollectingPojoTypeMetadataContributor() // Ensure Hibernate ORM metadata about properties is translated into Hibernate Search metadata diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingPropertiesMetadataContributor.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingPropertiesMetadataContributor.java index 1ccef791a13..9cd86db6e55 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingPropertiesMetadataContributor.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingPropertiesMetadataContributor.java @@ -18,7 +18,6 @@ import org.hibernate.mapping.OneToMany; import org.hibernate.mapping.OneToOne; import org.hibernate.mapping.Property; -import org.hibernate.mapping.Selectable; import org.hibernate.mapping.SimpleValue; import org.hibernate.mapping.ToOne; import org.hibernate.mapping.Value; @@ -97,16 +96,12 @@ else if ( value instanceof SimpleValue ) { } private void collectScale(PojoAdditionalMetadataCollectorPropertyNode collector, Value value) { - Iterator columnIterator = value.getColumnIterator(); + Iterator columnIterator = value.getColumns().iterator(); Dialect dialect = basicTypeMetadataProvider.getDialect(); Metadata metadata = basicTypeMetadataProvider.getMetadata(); while ( columnIterator.hasNext() ) { - Selectable mappedColumn = columnIterator.next(); - if ( !(mappedColumn instanceof Column) ) { - continue; - } - Column column = (Column) mappedColumn; + Column column = columnIterator.next(); Size size = column.getColumnSize( dialect, metadata ); Integer scale = size.getScale(); if ( scale == null ) { diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBasicTypeMetadataProvider.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBasicTypeMetadataProvider.java index aff98d5143e..d03fcba6e24 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBasicTypeMetadataProvider.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBasicTypeMetadataProvider.java @@ -56,7 +56,7 @@ private static void collectPersistentClass(Builder metadataProviderBuilder, Pers collectClassType( metadataProviderBuilder, javaClass, - persistentClass.getIdentifierProperty(), persistentClass.getPropertyIterator() + persistentClass.getIdentifierProperty(), persistentClass.getProperties().iterator() ); metadataProviderBuilder.typeIdentifierResolverBuilder.addClassEntityType( @@ -67,7 +67,7 @@ private static void collectPersistentClass(Builder metadataProviderBuilder, Pers collectDynamicMapType( metadataProviderBuilder, hibernateOrmEntityName, persistentClass.getSuperclass(), - persistentClass.getIdentifierProperty(), persistentClass.getPropertyIterator() + persistentClass.getIdentifierProperty(), persistentClass.getProperties().iterator() ); metadataProviderBuilder.typeIdentifierResolverBuilder.addDynamicMapEntityType( @@ -204,7 +204,7 @@ private static HibernateOrmTypeModelFactory collectEmbedded(Builder metadataP collectDynamicMapType( metadataProviderBuilder, name, null, /* No supertype */ - null /* No ID */, component.getPropertyIterator() + null /* No ID */, component.getProperties().iterator() ); } return HibernateOrmTypeModelFactory.dynamicMap( name ); @@ -215,7 +215,7 @@ private static HibernateOrmTypeModelFactory collectEmbedded(Builder metadataP if ( !metadataProviderBuilder.classTypeMetadata.containsKey( javaClass ) ) { collectClassType( metadataProviderBuilder, javaClass, - null /* No ID */, component.getPropertyIterator() + null /* No ID */, component.getProperties().iterator() ); } return HibernateOrmTypeModelFactory.rawType( javaClass ); diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathsDefinition.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathsDefinition.java index 30e334a6a0e..6489423a9c8 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathsDefinition.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmPathsDefinition.java @@ -167,11 +167,9 @@ public HibernateOrmPathsDefinition(PersistentClass persistentClass) { } @Override - @SuppressWarnings("unchecked") public List preDefinedOrdinals() { List preDefinedOrdinals = new ArrayList<>(); - for ( Iterator iterator = persistentClass.getPropertyClosureIterator(); iterator.hasNext(); ) { - Property property = iterator.next(); + for ( Property property : persistentClass.getPropertyClosure() ) { preDefinedOrdinals.add( property.getName() ); } return preDefinedOrdinals; diff --git a/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/ReusableOrmSetupHolder.java b/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/ReusableOrmSetupHolder.java index 0d3ea20d956..d9db0995615 100644 --- a/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/ReusableOrmSetupHolder.java +++ b/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/ReusableOrmSetupHolder.java @@ -450,7 +450,7 @@ private void clearDatabase(SessionFactoryImplementor sessionFactory, HibernateOr for ( Class entityClass : config.entityClearOrder ) { EntityType entityType; try { - entityType = sessionFactory.getMetamodel().entity( entityClass ); + entityType = sessionFactory.getJpaMetamodel().entity( entityClass ); } catch (IllegalArgumentException e) { // When using annotatedTypes to infer the clear order, @@ -467,7 +467,7 @@ private void clearDatabase(SessionFactoryImplementor sessionFactory, HibernateOr // we try to delete all remaining entity types. // Note we're stabilizing the order, because ORM uses a HashSet internally // and the order may change from one execution to the next. - List> sortedEntityTypes = sessionFactory.getMetamodel().getEntities().stream() + List> sortedEntityTypes = sessionFactory.getJpaMetamodel().getEntities().stream() .sorted( Comparator.comparing( EntityType::getName ) ) .collect( Collectors.toList() ); for ( EntityType entityType : sortedEntityTypes ) { @@ -556,6 +556,7 @@ private static Query createSelectOrDeleteAllOfSpecificTypeQuery(EntityType builder.append( " where type( e ) in (:type)" ); typeArg = entityType.getJavaType(); } + @SuppressWarnings("deprecation") Query query = QueryType.SELECT.equals( queryType ) ? session.createQuery( builder.toString(), entityType.getJavaType() ) : session.createQuery( builder.toString() ); @@ -566,7 +567,7 @@ private static Query createSelectOrDeleteAllOfSpecificTypeQuery(EntityType } private static boolean hasEntitySubclass(SessionFactory sessionFactory, EntityType parentEntity) { - Metamodel metamodel = sessionFactory.unwrap( SessionFactoryImplementor.class ).getMetamodel(); + Metamodel metamodel = sessionFactory.unwrap( SessionFactoryImplementor.class ).getJpaMetamodel(); for ( EntityType entity : metamodel.getEntities() ) { if ( parentEntity.equals( entity.getSupertype() ) ) { return true; @@ -588,7 +589,7 @@ private static boolean hasPotentiallyJoinTable(SessionFactoryImplementor session case ELEMENT_COLLECTION: return true; case EMBEDDED: - EmbeddableType embeddable = sessionFactory.getMetamodel().embeddable( attribute.getJavaType() ); + EmbeddableType embeddable = sessionFactory.getJpaMetamodel().embeddable( attribute.getJavaType() ); if ( hasPotentiallyJoinTable( sessionFactory, embeddable ) ) { return true; } diff --git a/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/multitenancy/impl/MultitenancyTestHelperSchemaManagementTool.java b/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/multitenancy/impl/MultitenancyTestHelperSchemaManagementTool.java index 03a984c4e71..47e99913928 100644 --- a/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/multitenancy/impl/MultitenancyTestHelperSchemaManagementTool.java +++ b/util/internal/integrationtest/mapper/orm/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/orm/multitenancy/impl/MultitenancyTestHelperSchemaManagementTool.java @@ -52,8 +52,7 @@ public Class getServiceInitiated() { } @Override - @SuppressWarnings("rawtypes") // Can't do better: Map is raw in the superclass - public SchemaManagementTool initiateService(Map configurationValues, ServiceRegistryImplementor registry) { + public SchemaManagementTool initiateService(Map configurationValues, ServiceRegistryImplementor registry) { return new MultitenancyTestHelperSchemaManagementTool( tenantIds ); } } @@ -89,8 +88,7 @@ private GenerationTargetToDatabase[] createSchemaTargets(ServiceRegistryImplemen } @Override - @SuppressWarnings("rawtypes") // Can't do better: Map is raw in the superclass - public SchemaCreator getSchemaCreator(Map options) { + public SchemaCreator getSchemaCreator(Map options) { return new SchemaCreator() { final SchemaCreatorImpl delegate = (SchemaCreatorImpl) toolDelegate.getSchemaCreator( options ); @Override @@ -103,8 +101,7 @@ public void doCreation(Metadata metadata, ExecutionOptions executionOptions, } @Override - @SuppressWarnings("rawtypes") // Can't do better: Map is raw in the superclass - public SchemaDropper getSchemaDropper(Map options) { + public SchemaDropper getSchemaDropper(Map options) { return new SchemaDropper() { final SchemaDropperImpl delegate = (SchemaDropperImpl) toolDelegate.getSchemaDropper( options ); @Override @@ -128,14 +125,12 @@ public void perform(ServiceRegistry serviceRegistry) { } @Override - @SuppressWarnings("rawtypes") // Can't do better: Map is raw in the superclass - public SchemaMigrator getSchemaMigrator(Map options) { + public SchemaMigrator getSchemaMigrator(Map options) { throw notSupported(); } @Override - @SuppressWarnings("rawtypes") // Can't do better: Map is raw in the superclass - public SchemaValidator getSchemaValidator(Map options) { + public SchemaValidator getSchemaValidator(Map options) { throw notSupported(); }