[Seasar-user:7002] Re: [DBFlute] IDの自動生成が動かない

kubo [E-MAIL ADDRESS DELETED]
2007年 4月 2日 (月) 13:46:46 JST


久保です。

冨永さん、DBFluteご利用ありがとうございます!

> 現在、MySQL 5.5 + DBFlute 0.4.2 + S2Dao 1.0.40で開発をし
> ているのですが、なぜかIDの自動生成が働かないのです。
> 
> あれこれと設定を見直したのですが、結局上手くいきませんでした。
> どうかご助言をいただきたく思います。

ぱっと思いつく確認点として、
実行された環境は、「トランザクション」が開始されていますでしょうか?

<component class="service.impl.FooServiceImpl">
    <aspect>j2ee.requiresNewTx</aspect>
</component>

とあるので、大丈夫かと思いますが、
念のため、ログに「トランザクションを開始しました」というような文字列
が出力されているか確認させてください。
(ログを頂けると助かります)



S2Daoは、IdentityによるInsertをした後、そのIdentityの値を
取得するためのSQLを発行します。

MySQLであれば SELECT LAST_INSERT_ID() を実行します。
MySQLの仕様として「トランザクション開始状態」であることを前提としていま
す。
もし、「トランザクション外」で実行した場合は「0」が帰りますので
まずそこを確認したいと考えました。

よろしくお願いします。






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