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