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

kubo [E-MAIL ADDRESS DELETED]
2007年 4月 2日 (月) 16:03:14 JST


久保です。

> トランザクションというのはSesasarのトランザクション制御の事だと思ってお
> りました。
> 試みにspotテーブルをinnodbで作り直してやってみましたが、それでもダメでした。

そうですかぁ...

ちょっと整理しますね。


A. MySQLは「innodb」を利用
B. SeasarはTransactionを利用
C. S2Daoは正常に期待通りのInsertをして期待通りのIdentity取得を実行
   (SELECT LAST_INSERT_ID()) ※ログを見る限り

しかし、Insert後のEntity内のIDの値が「0」になってしまう


さらに、お願いです。
【1】
Java経由でなく、MySQLのCommand上から同じ処理をして
「SELECT LAST_INSERT_ID()」が0を返しますでしょうか?
(Command上でTransaction開始してInsertした後
 SELECT LAST_INSERT_ID()を実行)

【2】
spotテーブルのcreate文をそのまま見せて頂けますでしょうか?



自分も実はMySQLを使ってシステム開発行っております。
MySQL-5.0.20(Win) + Seasar-2.4.11 + S2Dao-1.0.40 + DBFlute-0.4.3
これで問題なくInsert後のEntity内のIDの値は期待通りのIdentity値が
帰ってきます。

my.iniの設定は以下のような感じにしています。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
default-table-type=InnoDB
default-character-set=utf8
skip-character-set-client-handshake
transaction-isolation=Read-Committed
sql_mode="PIPES_AS_CONCAT,STRICT_ALL_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"
lower_case_table_names=1
log-bin-trust-function-creators=1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 






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