[seasar-dev:346] [s2dao] INSERT文にnull値のカラムを含めないようにしました

Hirotaka HONMA manhole @ arksystems.co.jp
2006年 4月 21日 (金) 22:44:57 JST


本間@S2Daoチーム です。

S2Daoが自動生成するINSERT文に、Daoの引数に取るBeanのプロパ
ティがnullであるカラムを含めないようにしました。
これで、自動生成SQLでテーブルへ定義してあるDEFAULTを利用する
ことができるようになります。

下記のようなテーブルを例にすると、Beanのaaaがnullの場合は
INSERT文にAAAカラムが含まれないようになり、レコードには
DEFAULT値である'ABC'が入ります。

また、IDとVERSIONNO以外の全てがnullの場合(この例だとaaaと
bbbがnull)には例外を投げるようにしています。

CREATE TABLE HOGE (
    ID          NUMERIC(4) NOT NULL
   ,AAA         VARCHAR(20) DEFAULT 'ABC'
   ,BBB         VARCHAR(20)
   ,VERSIONNO   NUMERIC(8)
   ,CONSTRAINT PK_HOGE PRIMARY KEY (ID)
);

確認していただけますか? > S2Daoチームの皆様


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