[Seasar-user:4087] [S2DAO]主キーの自動生成
Isao Yamada
[E-MAIL ADDRESS DELETED]
2006年 7月 15日 (土) 21:29:41 JST
山田です。
S2DAOのIDの自動生成で確認したい点があります。
稼働環境は、
S2DAO:1.0.34
DBMS:Oracle 9i
です。
データベースでは主キーのカラムを USER_PK NUMBER(10) としています。
対するDTOでは long userPk としています。
この主キーをシーケンスで管理する為に、
public static final String userPk_ID = "sequence, sequenceName=シーケン
ス名";
しています。
この状態でinsertすると主キーの部分user_pk(Dto側ではuserPk)の
カラムが生成されないです。
カラムアノテーションの
public static final String userPk_COLUMN = "USER_PK";
をつけると正常に動作します。(user_pkに対するSQLがログで確認できます。)
■1
ドキュメントでは読み取れなかったのですが、これは仕様でしょうか。
(ドキュメントではカラムアノテーションは必要ないように思えます。)
また、
カラムアノテーションをつけた状態でDtoをプリミティブ型を
オブジェクト型(Integer, Long)に変えると、この項目のSQLが生成されなくなりま
した。
■2
アンダーバーがある項目ではこのような動作になるのでしょうか。
(これもドキュメントではできそうに思えます。)
現在携わっているシステムでは問題にはなりませんが、
できれば、カラムアノテーションはなくしたいですし(規約には沿っていると思って
います。)
主キーのシーケンスが0ではなくnullで扱いたいと思っていますので質問させて頂き
ました。
宜しくお願い致します。
Seasar-user メーリングリストの案内