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

SETO Azusa [E-MAIL ADDRESS DELETED]
2007年 3月 18日 (日) 19:25:49 JST


せとあずさです。

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に追記しておきます。

-- 
せとあずさ
[E-MAIL ADDRESS DELETED]
http://www.fieldnotes.jp/d/




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