S2Daoの「Primary keyが見つかりません」エラー
[EDAO0009]のエラーが発生する理由として、
- A)DBのテーブルにpkが設定されていない場合
- 制約をきちんと指定すればOK。
- B)PKのカラム名が間違っている (DB側 or JavaBeans側)
- C)テーブル名が間違っている
- 後で。
のどれかが考えられる。
つーか、(A)(B)はわかりやすいけど、(C)もこのエラーコード!?
むーん。
今回は
public class FooBar { private String foo; private String bar; // getter/setter省略 }
というDtoに対して、foo_barテーブルを対応させようとして発生。
カラム名だと、アンダーバーをきちんと無視してくれたりするのに、どうもテーブル名は明示的に指定しないとだめらしい。
TABLEアノテーションで
public static final String TABLE = "foo_bar";
と書いたらうまく通った。
…仕様ですか?