[Seasar-user:1371] IDアノテーション利用時のUPDATE,DELETEで不具合

s-fukuzawa@hitachijoho.com s-fukuzawa
2004年 12月 16日 (木) 23:05:39 JST


福澤です。
昨日の件は早速対応してくださり、ありがとうございます。

さて、今回は別件です。

ちょうどIDの採番を出来るように自作のコンポーネントを作ろうと
思っていたところ、タイミングよく(^-^;
S2Daoに自動採番機能がついたので検証してみました。


その結果、IDのカラムに対してCOLUMNアノテーションを使っている場合、
IDアノテーション(今回はidentityを使いました)を使うと、
S2DaoのUPDATE、DELETEが失敗してしまいます。

例えば主キーのカラム名がperson_idでエンティティのプロパティがpersonIdの場合、
S2Daoで生成されるDELETE文が
DELETE FROM テーブル名 WHERE personId = ?
となってしまいます。

ちょっと調べたところ、
AbstractAutoStaticCommandの143行目で
BeanMetaData#getPrimaryKey(int)の値を
WHERE句に追加していると思いますが、
その値がテーブルのカラム名でなく、
エンティティのプロパティ名となってしまっていました。


どうか対応よろしくおねがいしますm(_ _)m。

--
福澤 進 <[E-MAIL ADDRESS DELETED]>



Seasar-user メーリングリストの案内