Skip to content

Commit fa49ce5

Browse files
committed
[#1550] Fix Identity insert query for Db2
1 parent 7e44e23 commit fa49ce5

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/insert/ReactiveAbstractReturningDelegate.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.concurrent.CompletionStage;
1010

1111
import org.hibernate.dialect.CockroachDialect;
12+
import org.hibernate.dialect.DB2Dialect;
1213
import org.hibernate.dialect.Dialect;
1314
import org.hibernate.dialect.MySQLDialect;
1415
import org.hibernate.dialect.SQLServerDialect;
@@ -92,6 +93,11 @@ private static String createInsert(PreparedStatementDetails insertStatementDetai
9293
}
9394
return sql;
9495
}
96+
if ( dialect instanceof DB2Dialect ) {
97+
// ORM query: select id from new table ( insert into IntegerTypeEntity values ( ))
98+
// Correct : select id from new table ( insert into LongTypeEntity (id) values (default))
99+
return insertStatementDetails.getSqlString().replace( " values ( ))", " (" + identifierColumnName + ") values (default))" );
100+
}
95101
return insertStatementDetails.getSqlString();
96102
}
97103

0 commit comments

Comments
 (0)