[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 メーリングリストの案内