古いデータベース構造では、データを変更すると更新される 1 つのテーブルに 2 つのフィールドがあります。
create table dbo.example(
name varchar(50),
...,
changed smalldatetime, -- here we save the last update date
version int -- and here we increase the number
)
聞かないでください。それはそうです:-)
現在、Eclipselink と Glassfish v3 を使用して楽観的ロックを実装しています。
@Version
アノテーションを使ってなんとかバージョンアップできました。しかし、名前フィールドが実際に変更された場合にのみ、変更されたフィールドを更新するにはどうすればよいですか。毎回変更されたフィールドを設定するだけで、JPAは毎回行を更新します。名前フィールドに実際の変更がなかったとしても。そして、名前フィールドが本当に「手」で変更されたかどうかを確認したくありません。
@Version
アノテーションを 2 番目のフィールドにも設定できますか?