Table1データベース トランザクションを作成し、 DBにレコードを挿入していますH2。しかし、まだコミットは行われていません。このプロセスの間に、半分のレコードを実行した後、1 つのcreateステートメントを実行します (作成された Table2)。
Table2が作成され、それに伴い、以前のINSERTステートメントも DB にコミットされます。
この後、 にさらにレコードを挿入しています。挿入に失敗した場合でも、 のステートメントのTable1前に挿入された Table1 のレコードが表示されます。createTable2
このため、トランザクションが失敗した後でも、DB にいくつかのレコードが表示されます。DBにゼロのレコードがあると思っていました。
なぜこうなった?