データベースの勉強にかわいいデータベースを実装してたつもりが、だいぶゴツくなってきました。 http://d.hatena.ne.jp/nowokay/20120817#1345197962 前回、insertだけトランザクションが効いていたので、今回はupdate/deleteでもトランザクションが効くようにします。 insertでは、新しく追加したタプルにトランザクションIDを付加して、そのコミット以前に始まったトランザクションからはそのタプルを隠すことで、トランザクションの隔離を行っていました。 update/deleteでは、古いデータを保存しておく必要があります。 実装 そこで、次のようなクラスを用意して、古いデータを保持できるようにします。実際にはこれを継承してUpdatedTapleとDeletedTapleを定義しています。 public static abstract c