[Seasar-user:12539] Re: 【 S2Dao 】 AutoCommit の設定とトランザクションについて
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2008年 1月 17日 (木) 15:01:52 JST
中村(taedium)です。
> S2Dao、HSQLDB(In-Memory)を使用してアプリケーションを作成しております。AutoCommitの設定がデフォルト値がTRUEとなっており、FALSEにする方法がわかりません。
トランザクションが自動で
開始される設定になっているからではないでしょうか。
> diconファイルの設定でどのように属性値を設定して良いか、S2Daoとしての質問として正しいか分らないのですが、何方かご教授願いできませんでしょうか?
>
> SQLの実行部分は、すべてSQLファイルに外出ししており(設計方針として、SQL部分は、すべてSQLファイルで実装)、Daoはインタフェースのみの設計となっております。
>
> もし、AutoCommit=FALSEが実現できた場合は、【Daoクラス名】_commit.sql を作成し、任意のタイミングでコミットを実現したいと考えております。
もし、データにアクセスするのが1つのスレッドならば、
コネクションプーリングのmaxPoolSizeを1にし、
かつグローバルトランザクションを開始しないようにすれば
想定している方法で実現できるように思います。
スレッドが複数あるならば
javax.transaction.UserTransaction#begin()と
javax.transaction.UserTransaction#commit()を
使ってトランザクションを制御するのがいいと思います。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内