353353import org .hibernate .sql .ast .tree .expression .TrimSpecification ;
354354import org .hibernate .sql .ast .tree .expression .UnaryOperation ;
355355import org .hibernate .sql .ast .tree .expression .UnparsedNumericLiteral ;
356- import org .hibernate .sql .ast .tree .from .CorrelatedPluralTableGroup ;
357- import org .hibernate .sql .ast .tree .from .CorrelatedTableGroup ;
358- import org .hibernate .sql .ast .tree .from .EmbeddableFunctionTableGroup ;
359- import org .hibernate .sql .ast .tree .from .FromClause ;
360- import org .hibernate .sql .ast .tree .from .FunctionTableGroup ;
361- import org .hibernate .sql .ast .tree .from .NamedTableReference ;
362- import org .hibernate .sql .ast .tree .from .PluralTableGroup ;
363- import org .hibernate .sql .ast .tree .from .QueryPartTableGroup ;
364- import org .hibernate .sql .ast .tree .from .QueryPartTableReference ;
365- import org .hibernate .sql .ast .tree .from .TableGroup ;
366- import org .hibernate .sql .ast .tree .from .TableGroupJoin ;
367- import org .hibernate .sql .ast .tree .from .TableGroupJoinProducer ;
368- import org .hibernate .sql .ast .tree .from .TableReference ;
356+ import org .hibernate .sql .ast .tree .from .*;
369357import org .hibernate .sql .ast .tree .insert .ConflictClause ;
370358import org .hibernate .sql .ast .tree .insert .InsertSelectStatement ;
371359import org .hibernate .sql .ast .tree .insert .InsertStatement ;
@@ -1279,8 +1267,7 @@ public InsertStatement visitInsertValuesStatement(SqmInsertValuesStatement<?> sq
12791267 this
12801268 );
12811269
1282- if ( !rootTableGroup .getTableReferenceJoins ().isEmpty ()
1283- || !rootTableGroup .getTableGroupJoins ().isEmpty () ) {
1270+ if ( hasJoins ( rootTableGroup ) ) {
12841271 throw new HibernateException ( "Not expecting multiple table references for an SQM INSERT-SELECT" );
12851272 }
12861273
@@ -1299,11 +1286,6 @@ public InsertStatement visitInsertValuesStatement(SqmInsertValuesStatement<?> sq
12991286 rootTableGroup
13001287 );
13011288
1302- if ( !rootTableGroup .getTableReferenceJoins ().isEmpty ()
1303- || !rootTableGroup .getTableGroupJoins ().isEmpty () ) {
1304- throw new SemanticException ( "Not expecting multiple table references for an SQM INSERT-SELECT" );
1305- }
1306-
13071289 for ( SqmValues sqmValues : sqmStatement .getValuesList () ) {
13081290 final Values values = visitValues ( sqmValues );
13091291 additionalInsertValues .applyValues ( values );
0 commit comments