Skip to content

Commit 249b444

Browse files
committed
Rework multi-table handling and non-select query plan code to allow caching and help Hibernate Reactive
1 parent faf80dc commit 249b444

File tree

1 file changed

+6
-33
lines changed

1 file changed

+6
-33
lines changed

hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/internal/SqmMutationStrategyHelper.java

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import org.hibernate.sql.ast.tree.from.NamedTableReference;
4848
import org.hibernate.sql.ast.tree.from.TableReference;
4949
import org.hibernate.sql.ast.tree.predicate.Predicate;
50-
import org.hibernate.sql.exec.spi.ExecutionContext;
5150
import org.hibernate.sql.exec.spi.JdbcOperationQueryMutation;
5251
import org.hibernate.sql.exec.spi.JdbcParameterBindings;
5352

@@ -100,32 +99,6 @@ else if ( modelPart instanceof EmbeddedAttributeMapping ) {
10099
);
101100
}
102101

103-
public static void cleanUpCollectionTables(
104-
EntityMappingType entityDescriptor,
105-
BiFunction<TableReference, PluralAttributeMapping, Predicate> restrictionProducer,
106-
JdbcParameterBindings jdbcParameterBindings,
107-
ExecutionContext executionContext) {
108-
visitCollectionTableDeletes(
109-
entityDescriptor,
110-
restrictionProducer,
111-
jdbcParameterBindings,
112-
executionContext.getQueryOptions(),
113-
jdbcMutation -> {
114-
executionContext.getSession().getFactory().getJdbcServices().getJdbcMutationExecutor().execute(
115-
jdbcMutation,
116-
jdbcParameterBindings,
117-
sql -> executionContext.getSession()
118-
.getJdbcCoordinator()
119-
.getStatementPreparer()
120-
.prepareStatement( sql ),
121-
(integer, preparedStatement) -> {
122-
},
123-
executionContext
124-
);
125-
}
126-
);
127-
}
128-
129102
public static void visitCollectionTableDeletes(
130103
EntityMappingType entityDescriptor,
131104
BiFunction<TableReference, PluralAttributeMapping, Predicate> restrictionProducer,
@@ -139,7 +112,7 @@ public static void visitCollectionTableDeletes(
139112
entityDescriptor.visitSubTypeAttributeMappings(
140113
attributeMapping -> {
141114
if ( attributeMapping instanceof PluralAttributeMapping ) {
142-
cleanUpCollectionTable(
115+
visitCollectionTableDeletes(
143116
(PluralAttributeMapping) attributeMapping,
144117
restrictionProducer,
145118
jdbcParameterBindings,
@@ -148,7 +121,7 @@ public static void visitCollectionTableDeletes(
148121
);
149122
}
150123
else if ( attributeMapping instanceof EmbeddedAttributeMapping ) {
151-
cleanUpCollectionTables(
124+
visitCollectionTableDeletes(
152125
(EmbeddedAttributeMapping) attributeMapping,
153126
restrictionProducer,
154127
jdbcParameterBindings,
@@ -160,7 +133,7 @@ else if ( attributeMapping instanceof EmbeddedAttributeMapping ) {
160133
);
161134
}
162135

163-
private static void cleanUpCollectionTables(
136+
private static void visitCollectionTableDeletes(
164137
EmbeddedAttributeMapping attributeMapping,
165138
BiFunction<TableReference, PluralAttributeMapping, Predicate> restrictionProducer,
166139
JdbcParameterBindings jdbcParameterBindings,
@@ -169,7 +142,7 @@ private static void cleanUpCollectionTables(
169142
attributeMapping.visitSubParts(
170143
modelPart -> {
171144
if ( modelPart instanceof PluralAttributeMapping ) {
172-
cleanUpCollectionTable(
145+
visitCollectionTableDeletes(
173146
(PluralAttributeMapping) modelPart,
174147
restrictionProducer,
175148
jdbcParameterBindings,
@@ -178,7 +151,7 @@ private static void cleanUpCollectionTables(
178151
);
179152
}
180153
else if ( modelPart instanceof EmbeddedAttributeMapping ) {
181-
cleanUpCollectionTables(
154+
visitCollectionTableDeletes(
182155
(EmbeddedAttributeMapping) modelPart,
183156
restrictionProducer,
184157
jdbcParameterBindings,
@@ -191,7 +164,7 @@ else if ( modelPart instanceof EmbeddedAttributeMapping ) {
191164
);
192165
}
193166

194-
private static void cleanUpCollectionTable(
167+
private static void visitCollectionTableDeletes(
195168
PluralAttributeMapping attributeMapping,
196169
BiFunction<TableReference, PluralAttributeMapping, Predicate> restrictionProducer,
197170
JdbcParameterBindings jdbcParameterBindings,

0 commit comments

Comments
 (0)