[Seasar-user:10496] Re: [S2Dao]Insert後にSequenceで自動生成されたIDを取得したい。

Hirotaka HONMA [E-MAIL ADDRESS DELETED]
2007年 9月 13日 (木) 12:37:47 JST


本間です。

on Thu, 13 Sep 2007 12:11:42 +0900
in [Seasar-user:10495] [S2Dao]Insert後にSequenceで自動生成されたIDを取得したい。
nobu <[E-MAIL ADDRESS DELETED]> wrote:

> 1.tablaAを更新
> 2.tableA.idを取得して、tableBのEntityにセット。
> 3.tableBを更新
> 
> という手順で行うことになるのですが、2.のtableA.idを取得するには
> SQLで"SELECT max(id) from tableA"とするしかないのかな???と
> 思っています。

AへINSERT後に、entityA#getIdから取得できると思います。

↑S2Daoにシーケンスを操作させている場合に限りますけれど。
テーブルのDDLでDEFAULT A_SEQ.NEXTVAL みたいにしていたり、
INSERT文を手書きにしていたりするとダメです。




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