Transaction(Tx)
Transactionについては以前投稿したので簡単に言うと、
データベースの論理演算単位であり、分離できない作業の最小単位のこと。
@Transactional をクラスやメソッドに貼り付ける場合、該当範囲内のメソッドがTxになることを保証してくれる。
TCL(Transaction Control Language)
データベース内のTxを管理するために使用される。このTCLの代表的コマンドが以下の3つ。
-
COMMIT
変更されたデータをDBに永続的に保存するために使用。 -
ROLLBACK
DBを最後にCommitされた状態に復元するコマンド。Windowsで言うとCtrl+Zのみたいかも。 -
SAVEPOINT
Savepointを設定すると、最後のCommit全体をRollbackするのではなく、現時点からSavepointまでのTxだけをRollbackすることができる。
SAVEPOINT SavePoint名; // SavePointの設定
ROLLBACK TO SavePoint名; // SavepointまでRollback