diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/proxy/ContainedInTriggerUnnecessaryCollectionInitializationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/proxy/ContainedInTriggerUnnecessaryCollectionInitializationIT.java index 902615812e2..cb2578d9347 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/proxy/ContainedInTriggerUnnecessaryCollectionInitializationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/proxy/ContainedInTriggerUnnecessaryCollectionInitializationIT.java @@ -20,8 +20,6 @@ import org.hibernate.Hibernate; import org.hibernate.SessionFactory; -import org.hibernate.annotations.LazyCollection; -import org.hibernate.annotations.LazyCollectionOption; import org.hibernate.collection.spi.PersistentCollection; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; @@ -138,7 +136,6 @@ public static class Group { private int someInteger; @OneToMany(mappedBy = "group") - @LazyCollection(LazyCollectionOption.EXTRA) private Set posts = new HashSet<>(); public Integer getId() { diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/session/FlushClearEvictAllIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/session/FlushClearEvictAllIT.java index 767464177c1..571cea8e7d4 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/session/FlushClearEvictAllIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/session/FlushClearEvictAllIT.java @@ -25,8 +25,6 @@ import jakarta.persistence.OrderColumn; import jakarta.persistence.Table; -import org.hibernate.annotations.LazyCollection; -import org.hibernate.annotations.LazyCollectionOption; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; @@ -130,7 +128,6 @@ public static class Post { private String name; @OneToMany(mappedBy = "post", cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @LazyCollection(LazyCollectionOption.EXTRA) @OrderColumn(name = "idx") private List comments = new ArrayList<>(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmScrollableResultsIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmScrollableResultsIT.java index 3cea4cab562..42181bdbe60 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmScrollableResultsIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmScrollableResultsIT.java @@ -1129,10 +1129,10 @@ public void afterLast_fromAfterLast() { public void close() { setupHolder.runInTransaction( session -> { expectScrollCreate(); - try ( ScrollableResults scroll = createSimpleQuery( session ).scroll() ) { + try ( ScrollableResults scroll = createSimpleQuery( session ).scroll() ) { backendMock.verifyExpectationsMet(); - ScrollableResultsImplementor implementor = (ScrollableResultsImplementor) scroll; + ScrollableResultsImplementor implementor = (ScrollableResultsImplementor) scroll; assertThat( implementor.isClosed() ).isFalse(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java index 993d871f39b..91e49596c7d 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java @@ -284,11 +284,14 @@ public static class IndexedEntity extends IndexedEntitySuperClass { public static final String INDEX = "IndexedEntity"; + // "containedEntityList" is not listed here, + // because collection properties are initialized eagerly + // (even if the collection themselves are initialized lazily). + // See HHH-15473 / https://github.com/hibernate/hibernate-orm/pull/5252 private static final String[] LAZY_PROPERTY_NAMES = new String[] { "mappedSuperClassText", "entitySuperClassText", "notIndexedText", - "containedEntityList", "text1", "text2", "primitiveInteger", 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 e5cdce650eb..b78267447d1 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 @@ -46,7 +46,7 @@ private PersistenceUtil() { */ public static Session openSession(EntityManagerFactory entityManagerFactory, String tenantId) { SessionFactory sessionFactory = entityManagerFactory.unwrap( SessionFactory.class ); - SessionBuilder builder = sessionFactory.withOptions(); + SessionBuilder builder = sessionFactory.withOptions(); if ( StringHelper.isNotEmpty( tenantId ) ) { builder.tenantIdentifier( tenantId ); } diff --git a/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/event/impl/OutboxEventLoader.java b/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/event/impl/OutboxEventLoader.java index 21d3f292542..d45dec439c9 100644 --- a/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/event/impl/OutboxEventLoader.java +++ b/mapper/orm-coordination-outbox-polling/src/main/java/org/hibernate/search/mapper/orm/coordination/outboxpolling/event/impl/OutboxEventLoader.java @@ -78,7 +78,7 @@ protected List tryLoadLocking(Session session, Set ids) { Query query = session.createQuery( LOAD_QUERY, OutboxEvent.class ); query.setParameter( "ids", ids ); - query.setLockOptions( new LockOptions( LockMode.PESSIMISTIC_WRITE ).setTimeOut( LockOptions.SKIP_LOCKED ) ); + query.setLockOptions( new LockOptions( LockMode.UPGRADE_SKIPLOCKED ) ); return query.getResultList(); } 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 e3fee26f2c6..dc9d9c31892 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 @@ -108,8 +108,7 @@ public static EntityPersister toMostSpecificCommonEntitySuperType(EntityPersiste public static boolean targetsAllConcreteSubTypes(SessionFactoryImplementor sessionFactory, EntityPersister parentType, Collection targetConcreteSubTypes) { - @SuppressWarnings("unchecked") - Set subClassEntityNames = parentType.getEntityMetamodel().getSubclassEntityNames(); + Set subClassEntityNames = parentType.getEntityMappingType().getSubclassEntityNames(); // Quick check to return true immediately if all subtypes are concrete if ( subClassEntityNames.size() == targetConcreteSubTypes.size() ) { return true; diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java index 2b0f3c7ee50..a32ebb19a55 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java @@ -299,7 +299,7 @@ private void processCollectionEvent(AbstractCollectionEvent event) { BitSet dirtyPaths; if ( dirtyCheckingEnabled ) { - PersistentCollection persistentCollection = event.getCollection(); + PersistentCollection persistentCollection = event.getCollection(); String collectionRole = null; if ( persistentCollection != null ) { collectionRole = persistentCollection.getRole(); diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/query/impl/HibernateOrmSearchQueryAdapter.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/query/impl/HibernateOrmSearchQueryAdapter.java index f7140b4d528..edee2bd1546 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/query/impl/HibernateOrmSearchQueryAdapter.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/query/impl/HibernateOrmSearchQueryAdapter.java @@ -235,12 +235,12 @@ public HibernateOrmSearchQueryAdapter setParameterList(String name, Object[] } @Override - public QueryImplementor setParameterList(String s, Collection collection, Class aClass) { + public

QueryImplementor setParameterList(String s, Collection collection, Class

aClass) { throw parametersNoSupported(); } @Override - public QueryImplementor setParameterList(int i, Collection collection, Class aClass) { + public

QueryImplementor setParameterList(int i, Collection collection, Class

aClass) { throw parametersNoSupported(); } @@ -249,12 +249,12 @@ private UnsupportedOperationException parametersNoSupported() { } @Override - public QueryImplementor setTupleTransformer(TupleTransformer transformer) { + public QueryImplementor setTupleTransformer(TupleTransformer transformer) { throw resultOrTupleTransformerNotImplemented(); } @Override - public QueryImplementor setResultListTransformer(ResultListTransformer resultListTransformer) { + public QueryImplementor setResultListTransformer(ResultListTransformer resultListTransformer) { throw resultOrTupleTransformerNotImplemented(); } diff --git a/pom.xml b/pom.xml index 25ff4e32582..e0dd8a018f7 100644 --- a/pom.xml +++ b/pom.xml @@ -260,9 +260,10 @@ 2.4.2.Final ${version.org.hibernate.commons.annotations.orm6} ${version.net.bytebuddy.orm6} + 3.0.0 - 6.1.6.Final + 6.2.0-SNAPSHOT https://docs.jboss.org/hibernate/orm/${parsed-version.org.hibernate.orm.majorVersion}.${parsed-version.org.hibernate.orm.minorVersion}/javadocs/ https://docs.jboss.org/hibernate/orm/${parsed-version.org.hibernate.orm.majorVersion}.${parsed-version.org.hibernate.orm.minorVersion}/userguide/html_single/Hibernate_User_Guide.html 6.0.5.Final - 3.0.0 + 3.1.0 3.0.1 3.0.1 - 1.12.9 + 1.12.18 2.1.1 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 47e99913928..b68335c31f3 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 @@ -21,6 +21,7 @@ import org.hibernate.tool.schema.internal.SchemaDropperImpl; import org.hibernate.tool.schema.internal.exec.GenerationTarget; import org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase; +import org.hibernate.tool.schema.internal.exec.JdbcContext; import org.hibernate.tool.schema.spi.ContributableMatcher; import org.hibernate.tool.schema.spi.DelayedDropAction; import org.hibernate.tool.schema.spi.ExecutionOptions; @@ -29,6 +30,7 @@ import org.hibernate.tool.schema.spi.SchemaDropper; import org.hibernate.tool.schema.spi.SchemaManagementTool; import org.hibernate.tool.schema.spi.SchemaMigrator; +import org.hibernate.tool.schema.spi.SchemaTruncator; import org.hibernate.tool.schema.spi.SchemaValidator; import org.hibernate.tool.schema.spi.SourceDescriptor; import org.hibernate.tool.schema.spi.TargetDescriptor; @@ -134,6 +136,11 @@ public SchemaValidator getSchemaValidator(Map options) { throw notSupported(); } + @Override + public SchemaTruncator getSchemaTruncator(Map options) { + throw notSupported(); + } + @Override public void setCustomDatabaseGenerationTarget(GenerationTarget generationTarget) { throw notSupported(); @@ -144,6 +151,12 @@ public ExtractionTool getExtractionTool() { throw notSupported(); } + @Override + public GenerationTarget[] buildGenerationTargets(TargetDescriptor targetDescriptor, JdbcContext jdbcContext, + Map options, boolean needsAutoCommit) { + throw notSupported(); + } + private UnsupportedOperationException notSupported() { return new UnsupportedOperationException( "This feature is not supported when simulating multi-tenancy with test helpers" );