[Seasar-user:3814] Re: [S2Dao] IDアノテーションの仕様について

G [E-MAIL ADDRESS DELETED]
2006年 6月 8日 (木) 21:01:42 JST


天野様
> この場合、プライマリーキーのカラム名をmemberIdとしてしまうようです。
こんばんは。
ID アノテーションの如何によらず、コラム名が member_id のようですので
まずは Bean の int フィールドで memberId となっている箇所を member_id
にしてやればいいと思います。

こちらでは次のような検証コードで、insert() が正常に動作することを確認
できました。(アプリケーションサーバは使用しておらず、BeanMetaDataの取
得等はしておりません)。

*検証コード
**ビーン (Foo.java)
public class Foo implements Serializable {
    public static final String TABLE = "hoge";
    public static final String member_id_ID = "assigned";

    public int member_id;
    public int workout_id;

     ... // setter/getter は略しました
}

**データアクセスオブジェクト (FooDao.java)
public interface FooDao {
    public static final Class BEAN = Foo.class;

     ... // CRUD 等のメソッドは略しました
}

*確認環境:(ちょっと古め)
-S2 ver 2.3.7
-S2Dao ver 1.0.31 + H2対応パッチ
-データベースはH2 0.9 (2006-06-02 / Alpha)
-Windows XP SP2

*テーブル
  CREATE TABLE hoge (member_id INT PRIMARY KEY,workout_id INT);

*ご質問抜粋
>IDアノテーションの仕様について教えてください。
(snip)
>--- テーブル ---
>CREATE TABLE hoge
>(member_id INT PRYMARY KEY
>,workout_id INT
>);
>
>--- Bean ---
>public class Hoge {
>    public static final String TABLE = "hoge";
>    public static final String memberId_ID = "assigned";
>    private int memberId;
>    private int workoutId;
>    ...
(snip)

よろしくお願いします。
-- 
G. # 単なるS2サポータのひとりにすぎません(アマチュアです)



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