@@ -429,7 +429,7 @@ String getDeleteByList() {
429429 String createDeleteAllSql (
430430 @ Nullable PersistentPropertyPath <RelationalPersistentProperty > path ) {
431431
432- Table table = getTable ();
432+ Table table = getDmlTable ();
433433
434434 DeleteBuilder .DeleteWhere deleteAll = Delete .builder ().from (table );
435435
@@ -610,7 +610,7 @@ String selectFrom() {
610610 if (join != null ) {
611611 joinTables .add (join );
612612 }
613-
613+
614614 Column column = getColumn (extPath );
615615 if (column != null ) {
616616 columnExpressions .add (getColumnExpression (extPath , column ));
@@ -782,7 +782,7 @@ private String createCountSql() {
782782
783783 private String createInsertSql (Set <SqlIdentifier > additionalColumns ) {
784784
785- Table table = getTable ();
785+ Table table = getDmlTable ();
786786
787787 Set <SqlIdentifier > columnNamesForInsert =
788788 new TreeSet <>(Comparator .comparing (SqlIdentifier ::getReference ));
@@ -821,7 +821,7 @@ private String createUpdateWithVersionSql() {
821821
822822 private UpdateBuilder .UpdateWhereAndOr createBaseUpdate () {
823823
824- Table table = getTable ();
824+ Table table = getDmlTable ();
825825
826826 List <AssignValue > assignments = columns .getUpdateableColumns () //
827827 .stream () //
@@ -837,12 +837,12 @@ private UpdateBuilder.UpdateWhereAndOr createBaseUpdate() {
837837 }
838838
839839 private String createDeleteSql () {
840- return render (createBaseDeleteById (getTable ()).build ());
840+ return render (createBaseDeleteById (getDmlTable ()).build ());
841841 }
842842
843843 private String createDeleteByIdAndVersionSql () {
844844
845- Delete delete = createBaseDeleteById (getTable ()) //
845+ Delete delete = createBaseDeleteById (getDmlTable ()) //
846846 .and (getVersionColumn ().isEqualTo (
847847 SQL .bindMarker (":" + renderReference (VERSION_SQL_PARAMETER )))) //
848848 .build ();
@@ -883,7 +883,7 @@ private String createDeleteByPathAndCriteria(PersistentPropertyPathExtension pat
883883
884884 private String createDeleteByListSql () {
885885
886- Table table = getTable ();
886+ Table table = getDmlTable ();
887887
888888 Delete delete = Delete .builder () //
889889 .from (table ) //
@@ -913,6 +913,15 @@ private Table getTable() {
913913 return sqlContext .getTable ();
914914 }
915915
916+ // DML Table should not be Aliased Table
917+ private Table getDmlTable () {
918+ Table table = sqlContext .getTable ();
919+ if (table instanceof Aliased ) {
920+ table = Table .create (table .getName ());
921+ }
922+ return table ;
923+ }
924+
916925 private Column getIdColumn () {
917926 return sqlContext .getIdColumn ();
918927 }
0 commit comments