Skip to content

Commit ee02faf

Browse files
gbadnersebersole
authored andcommitted
HHH-8276 - Integrate LoadPlans into UniqueEntityLoader (PoC)
1 parent 1e79efd commit ee02faf

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

hibernate-core/src/main/java/org/hibernate/loader/plan2/build/internal/spaces/CompositeQuerySpaceImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.hibernate.persister.collection.CollectionPersister;
3131
import org.hibernate.persister.entity.EntityPersister;
3232
import org.hibernate.persister.entity.PropertyMapping;
33+
import org.hibernate.persister.entity.Queryable;
3334
import org.hibernate.persister.walking.spi.AttributeDefinition;
3435
import org.hibernate.persister.walking.spi.CompositionDefinition;
3536
import org.hibernate.type.AssociationType;
@@ -105,7 +106,9 @@ public JoinImpl addEntityJoin(
105106
EntityPersister persister,
106107
String querySpaceUid,
107108
boolean optional) {
108-
final boolean required = canJoinsBeRequired() && !optional;
109+
// TODO: Queryable.isMultiTable() may be more broad than it needs to be...
110+
final boolean isMultiTable = Queryable.class.cast( persister ).isMultiTable();
111+
final boolean required = canJoinsBeRequired() && !isMultiTable && !optional;
109112

110113
final EntityQuerySpaceImpl rhs = new EntityQuerySpaceImpl(
111114
persister,

hibernate-core/src/main/java/org/hibernate/loader/plan2/build/internal/spaces/EntityQuerySpaceImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
import org.hibernate.persister.collection.CollectionPersister;
3232
import org.hibernate.persister.entity.EntityPersister;
3333
import org.hibernate.persister.entity.PropertyMapping;
34+
import org.hibernate.persister.entity.Queryable;
35+
import org.hibernate.persister.walking.spi.AssociationAttributeDefinition;
3436
import org.hibernate.persister.walking.spi.AttributeDefinition;
3537
import org.hibernate.persister.walking.spi.CompositionDefinition;
3638
import org.hibernate.type.AssociationType;
@@ -106,7 +108,9 @@ public JoinImpl addEntityJoin(
106108
EntityPersister persister,
107109
String querySpaceUid,
108110
boolean optional) {
109-
final boolean required = canJoinsBeRequired() && !optional;
111+
// TODO: Queryable.isMultiTable() may be more broad than it needs to be...
112+
final boolean isMultiTable = Queryable.class.cast( persister ).isMultiTable();
113+
final boolean required = canJoinsBeRequired() && !isMultiTable && !optional;
110114

111115
final EntityQuerySpaceImpl rhs = new EntityQuerySpaceImpl(
112116
persister,

0 commit comments

Comments
 (0)