[Seasar-user:6741] Re: [S2Dao] PostgreSQLでのバッチ更新

duran [E-MAIL ADDRESS DELETED]
2007年 3月 18日 (日) 23:41:02 JST


duranです。

下記方法でいけました。
ありがとうございました。

#気づきませんでした・・・

> 山本@サーバチームです。
> 
>> PostgreSQLでSERIAL型のカラムを持つテーブルにデータを登録する場合、
>> INSERT INTO ACCOUNT(NAME) VALUES('名前');
>> でいけるので、
> 
> とありますので、試していませんが、下記の定数アノテーション
> 
> ----------------------------------------------------------------------
> public static final String insertBatch_NO_PERSISTENT_PROPS = "ID";
> ----------------------------------------------------------------------
> 
> の追加でいけそうな気がしますが、どうでしょう?
> 
> 
> 
> 
> -------- Original Message --------
> From: duran <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:6735] Re: [S2Dao] PostgreSQLでのバッチ更新
> Date: Sun, 18 Mar 2007 19:57:08 +0900
> 
>> duranです。
>>
>> 下記件了解致しました。
>> 迅速なお返事ありがとうございました。
>>
>> しかし、下記のようなテーブルだと
>> CREATE TABLE ACCOUNT(
>> ID SERIAL,
>> NAME TEXT,
>> PRIMARY KEY(ID)
>> )
>>
>> PostgreSQLでSERIAL型のカラムを持つテーブルにデータを登録する場合、
>> INSERT INTO ACCOUNT(NAME) VALUES('名前');
>> でいけるので、IDアノテーションがついている場合は、
>> SQLにIDを含めないとか指定ができるといけそうな気が・・・
>> ※S2Daoの実装を見てないので何とも言えませんが
>>
>> ちなみに、insertBatchとした場合は
>> INSERT INTO ACCOUNT(ID,NAME) VALUES(NULL,'名前');
>> となってました。
>>
>>> せとあずさです。
>>>
>>> On Sun, 18 Mar 2007 19:18:13 +0900
>>> duran <[E-MAIL ADDRESS DELETED]> wrote:
>>>
>>>> PostgreSQL8.2で、
>>>> SERIAL型のカラムを持つテーブルに対してバッチ更新を行うと
>>>> シーケンスが取得されずに更新されます。
>>>> 対象エンティティはIDアノテーションでシーケンス指定を行っています。
>>>> insertBatch(List entityList);
>>> 申し訳ありませんが、バッチ更新時にIDアノテーションが
>>> 反映されないのは現バージョンのS2Daoの使用です。
>>>
>>> これはバッチ更新の場合、複数レコードの更新・削除を
>>> まとめて行うためID値の取得を行うタイミングがないためです。
>>> (1件ずつINSERTする場合はINSERT文を発行する直前にSEQUENCEから
>>> nextvalを取得していますが、バッチ更新の場合はnextvalを取
>>> 得するタイミングが無いため。)
>>>
>>> # ドキュメント・FAQに追記しておきます。
>>>
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 





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