From b10c51eec7a14ae9b85cba47200b704bea5b7e73 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Thu, 25 Jul 2013 13:12:36 -0500 Subject: [PATCH] HHH-8276 - Integrate LoadPlans into UniqueEntityLoader (PoC) --- .../plans}/LoadPlanBuilderTest.java | 2 +- .../LoadPlanStructureAssertionHelper.java | 2 +- .../LoadPlanStructureAssertionTest.java | 9 +--- ...positeAttributeResultSetProcessorTest.java | 2 +- ...atedCompositeIdResultSetProcessorTest.java | 2 +- ...tityAssociationResultSetProcessorTest.java | 2 +- ...nLazyCollectionResultSetProcessorTest.java | 2 +- ...zyOneToManyListResultSetProcessorTest.java | 2 +- ...azyOneToManySetResultSetProcessorTest.java | 2 +- .../{loader => loadplans/process}/Helper.java | 2 +- ...atedCompositeIdResultSetProcessorTest.java | 2 +- .../SimpleResultSetProcessorTest.java | 2 +- .../walking/BasicWalkingTest.java | 2 +- .../walking/CompositesWalkingTest.java | 52 +++++++++++++++++++ .../walking/KeyManyToOneWalkingTest.java | 2 +- .../LoggingAssociationVisitationStrategy.java | 10 ++-- 16 files changed, 72 insertions(+), 25 deletions(-) rename hibernate-core/src/test/java/org/hibernate/test/{loader/plan/spi => loadplans/plans}/LoadPlanBuilderTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader/plan/spi => loadplans/plans}/LoadPlanStructureAssertionHelper.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader/plan/spi => loadplans/plans}/LoadPlanStructureAssertionTest.java (95%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/EncapsulatedCompositeAttributeResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/EncapsulatedCompositeIdResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/EntityAssociationResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/EntityWithNonLazyCollectionResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/EntityWithNonLazyOneToManyListResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/EntityWithNonLazyOneToManySetResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/Helper.java (98%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/NonEncapsulatedCompositeIdResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{loader => loadplans/process}/SimpleResultSetProcessorTest.java (99%) rename hibernate-core/src/test/java/org/hibernate/test/{ => loadplans}/walking/BasicWalkingTest.java (97%) create mode 100644 hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/CompositesWalkingTest.java rename hibernate-core/src/test/java/org/hibernate/test/{ => loadplans}/walking/KeyManyToOneWalkingTest.java (97%) rename hibernate-core/src/test/java/org/hibernate/test/{ => loadplans}/walking/LoggingAssociationVisitationStrategy.java (97%) diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanBuilderTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanBuilderTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanBuilderTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanBuilderTest.java index 47b8eca1a6..4b315785c4 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanBuilderTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanBuilderTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader.plan.spi; +package org.hibernate.test.loadplans.plans; import javax.persistence.CascadeType; import javax.persistence.Entity; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanStructureAssertionHelper.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanStructureAssertionHelper.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanStructureAssertionHelper.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanStructureAssertionHelper.java index b54b87899b..7b92fc5d3d 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanStructureAssertionHelper.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanStructureAssertionHelper.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader.plan.spi; +package org.hibernate.test.loadplans.plans; import org.hibernate.LockMode; import org.hibernate.LockOptions; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanStructureAssertionTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanStructureAssertionTest.java similarity index 95% rename from hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanStructureAssertionTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanStructureAssertionTest.java index 94fc7ca20b..cabb5798fb 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/plan/spi/LoadPlanStructureAssertionTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/plans/LoadPlanStructureAssertionTest.java @@ -21,20 +21,15 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader.plan.spi; +package org.hibernate.test.loadplans.plans; import org.hibernate.cfg.Configuration; import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.test.loader.EncapsulatedCompositeIdResultSetProcessorTest; -import org.hibernate.test.loader.Helper; +import org.hibernate.test.loadplans.process.EncapsulatedCompositeIdResultSetProcessorTest; -import org.hibernate.loader.plan2.build.internal.returns.SimpleEntityIdentifierDescriptionImpl; -import org.hibernate.loader.plan2.exec.process.internal.ResultSetProcessorImpl; -import org.hibernate.loader.plan2.exec.spi.EntityLoadQueryDetails; //import org.hibernate.loader.plan2.spi.BidirectionalEntityFetch; import org.hibernate.loader.plan2.build.internal.returns.CollectionFetchableElementEntityGraph; import org.hibernate.loader.plan2.spi.CollectionFetch; -import org.hibernate.loader.plan2.spi.CompositeFetch; import org.hibernate.loader.plan2.spi.EntityFetch; import org.hibernate.loader.plan2.spi.EntityReturn; import org.hibernate.loader.plan2.spi.FetchSource; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/EncapsulatedCompositeAttributeResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EncapsulatedCompositeAttributeResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/EncapsulatedCompositeAttributeResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EncapsulatedCompositeAttributeResultSetProcessorTest.java index 6d28809d84..499ce5d6cf 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/EncapsulatedCompositeAttributeResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EncapsulatedCompositeAttributeResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.CollectionTable; import javax.persistence.Column; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/EncapsulatedCompositeIdResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EncapsulatedCompositeIdResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/EncapsulatedCompositeIdResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EncapsulatedCompositeIdResultSetProcessorTest.java index 979051ae25..81a465fe5b 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/EncapsulatedCompositeIdResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EncapsulatedCompositeIdResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.Embeddable; import javax.persistence.EmbeddedId; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityAssociationResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityAssociationResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/EntityAssociationResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityAssociationResultSetProcessorTest.java index 3c0e673c2a..a89f00f3f4 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityAssociationResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityAssociationResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.CascadeType; import javax.persistence.Entity; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyCollectionResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyCollectionResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyCollectionResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyCollectionResultSetProcessorTest.java index d1b2a7205d..a8c37c4f33 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyCollectionResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyCollectionResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.CollectionTable; import javax.persistence.Column; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyOneToManyListResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyOneToManyListResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyOneToManyListResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyOneToManyListResultSetProcessorTest.java index e78263c1c0..80b877995e 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyOneToManyListResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyOneToManyListResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.CascadeType; import javax.persistence.Entity; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyOneToManySetResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyOneToManySetResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyOneToManySetResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyOneToManySetResultSetProcessorTest.java index baca9557cf..c757f2642c 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/EntityWithNonLazyOneToManySetResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/EntityWithNonLazyOneToManySetResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.CascadeType; import javax.persistence.Entity; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/Helper.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/Helper.java similarity index 98% rename from hibernate-core/src/test/java/org/hibernate/test/loader/Helper.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/Helper.java index d2ecd1f90f..fb82f15d5f 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/Helper.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/Helper.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import org.hibernate.LockMode; import org.hibernate.LockOptions; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/NonEncapsulatedCompositeIdResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/NonEncapsulatedCompositeIdResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/NonEncapsulatedCompositeIdResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/NonEncapsulatedCompositeIdResultSetProcessorTest.java index 1679043cb4..c256a39ddd 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/NonEncapsulatedCompositeIdResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/NonEncapsulatedCompositeIdResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import java.sql.Connection; import java.sql.PreparedStatement; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loader/SimpleResultSetProcessorTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/SimpleResultSetProcessorTest.java similarity index 99% rename from hibernate-core/src/test/java/org/hibernate/test/loader/SimpleResultSetProcessorTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/process/SimpleResultSetProcessorTest.java index 3cfa050bfb..d945048e66 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/loader/SimpleResultSetProcessorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/process/SimpleResultSetProcessorTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.loader; +package org.hibernate.test.loadplans.process; import javax.persistence.Entity; import javax.persistence.Id; diff --git a/hibernate-core/src/test/java/org/hibernate/test/walking/BasicWalkingTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/BasicWalkingTest.java similarity index 97% rename from hibernate-core/src/test/java/org/hibernate/test/walking/BasicWalkingTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/BasicWalkingTest.java index 426b6b2ba2..5316e73de4 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/walking/BasicWalkingTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/BasicWalkingTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.walking; +package org.hibernate.test.loadplans.walking; import javax.persistence.Entity; import javax.persistence.Id; diff --git a/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/CompositesWalkingTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/CompositesWalkingTest.java new file mode 100644 index 0000000000..56cc34100a --- /dev/null +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/CompositesWalkingTest.java @@ -0,0 +1,52 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2013, Red Hat Inc. or third-party contributors as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Inc. + * + * This copyrighted material is made available to anyone wishing to use, modify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.test.loadplans.walking; + +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; +import org.hibernate.persister.entity.EntityPersister; +import org.hibernate.persister.walking.spi.MetamodelGraphWalker; + +import org.junit.Test; + +import org.hibernate.testing.junit4.BaseUnitTestCase; +import org.hibernate.test.annotations.collectionelement.TestCourse; + +/** + * @author Steve Ebersole + */ +public class CompositesWalkingTest extends BaseUnitTestCase { + /** + * Test one-level composites defined as part of an entity. + */ + @Test + public void testEntityComposite() { + final SessionFactory sf = new Configuration() + .addAnnotatedClass( TestCourse.class ) + .buildSessionFactory(); + final EntityPersister ep = (EntityPersister) sf.getClassMetadata( TestCourse.class ); + + MetamodelGraphWalker.visitEntity( new LoggingAssociationVisitationStrategy(), ep ); + } +} diff --git a/hibernate-core/src/test/java/org/hibernate/test/walking/KeyManyToOneWalkingTest.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/KeyManyToOneWalkingTest.java similarity index 97% rename from hibernate-core/src/test/java/org/hibernate/test/walking/KeyManyToOneWalkingTest.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/KeyManyToOneWalkingTest.java index 3ace4cc72c..d47e424c45 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/walking/KeyManyToOneWalkingTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/KeyManyToOneWalkingTest.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.walking; +package org.hibernate.test.loadplans.walking; import org.hibernate.persister.entity.EntityPersister; import org.hibernate.persister.walking.spi.MetamodelGraphWalker; diff --git a/hibernate-core/src/test/java/org/hibernate/test/walking/LoggingAssociationVisitationStrategy.java b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/LoggingAssociationVisitationStrategy.java similarity index 97% rename from hibernate-core/src/test/java/org/hibernate/test/walking/LoggingAssociationVisitationStrategy.java rename to hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/LoggingAssociationVisitationStrategy.java index cdbfa7a203..fd4991e196 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/walking/LoggingAssociationVisitationStrategy.java +++ b/hibernate-core/src/test/java/org/hibernate/test/loadplans/walking/LoggingAssociationVisitationStrategy.java @@ -21,7 +21,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.test.walking; +package org.hibernate.test.loadplans.walking; import org.hibernate.annotations.common.util.StringHelper; import org.hibernate.persister.walking.spi.AnyMappingDefinition; @@ -41,7 +41,7 @@ import org.hibernate.persister.walking.spi.EntityIdentifierDefinition; * @author Steve Ebersole */ public class LoggingAssociationVisitationStrategy implements AssociationVisitationStrategy { - private int depth = 0; + private int depth = 1; @Override public void start() { @@ -176,7 +176,7 @@ public class LoggingAssociationVisitationStrategy implements AssociationVisitati System.out.println( String.format( "%s Finishing collection index (%s)", - StringHelper.repeat( ">>", ++depth ), + StringHelper.repeat( "<<", depth-- ), collectionIndexDefinition.getCollectionDefinition().getCollectionPersister().getRole() ) ); @@ -198,7 +198,7 @@ public class LoggingAssociationVisitationStrategy implements AssociationVisitati System.out.println( String.format( "%s Finishing collection elements (%s)", - StringHelper.repeat( ">>", ++depth ), + StringHelper.repeat( "<<", depth-- ), elementDefinition.getCollectionDefinition().getCollectionPersister().getRole() ) ); @@ -223,7 +223,7 @@ public class LoggingAssociationVisitationStrategy implements AssociationVisitati System.out.println( String.format( "%s Finishing composite (%s)", - StringHelper.repeat( ">>", depth-- ), + StringHelper.repeat( "<<", depth-- ), compositionElementDefinition.getCollectionDefinition().getCollectionPersister().getRole() ) );