[Seasar-user:16520] Re: [S2JDBC] 排他制御について
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2008年 12月 17日 (水) 10:05:48 JST
ひがです。
> いづのです。
>
> 現在のS2JDBCのVersionカラムの仕様だと以下のような操作に対して、排他制御が無効になってしまいます。
>
> 1.新規レコードを作成
> 2.そのレコードをAとBの画面で表示。
> 3.A画面でレコードを物理削除
> 4.A画面で同じキーで新規レコードを作成
> 5.B画面で更新
>
> S2JDBCとしてはこのような操作に対する排他制御は現在の仕様上対応出来ないと思っていますが、それは正しいでしょうか。
>
> その場合、現在以下のような対応方法を検討しています。
> ・Versionカラムを日付型に対応するよう拡張する
> ・S2JDBCをやめる⇒S2Daoに乗り換え
>
主キーを代理キー(@GeneratedValue)を使うようにするのが、
一番簡単だと思います。
ビジネスキーを主キーにするのは、レガシーマイグレーション以外では
お勧めしません。
3,4の操作は、普通は、更新でやると思うのですが、
このようなホストっぽい操作をするときは
1の後にダミーで一回更新することで、
versionが更新されるので、5で排他エラーになります。
Seasar-user メーリングリストの案内