[Seasar-user:17270] [SAStruts]Scaffold アプリケーション更新時に例外発生
oriwa
[E-MAIL ADDRESS DELETED]
2009年 4月 18日 (土) 12:12:43 JST
こんにちわ。
Scaffoldアプリケーションを試してみたところ、editをクリックして、適当に編集して、UPDATEをクリックすると、
javax.servlet.ServletException: org.seasar.extension.jdbc.exception.SOptimisticLockException: [ESSR0736]エンティティ([E-MAIL ADDRESS DELETED])は既に変更されています。
が発生します。
s2jdbc-genで作成したentityでも、Scaffoldで作成されたentityでも同様です。
ドキュメントの下記記述が該当するかと思いますが、不具合点が思いつきません。
> 例えば、エンティティのバージョンチェック用のプロパティの値が1だったとします。 更新時にカラムの値が1のままならOK
> で、2に更新されます。 カラムの値が1でない場合は、他で更新されているということなので、
> javax.persistence.OptimisticLockException が発生します。
データベースはpostgres8.3でversionコラムのデータ型はlongです。
Entityのversionフィールドには@Versionが付与されています。
Scaffoldアプリケーションでは、データベースのIDが自動採番では無いのに、自動採番として生成されるため、その部分の修正のみしました。
思い当たることがありましたら、ご教示いただけますよう、よろしくお願いします。
wori
Seasar-user メーリングリストの案内