[Seasar-user:15463] Re: Isolation Levelについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 8月 22日 (金) 15:15:10 JST
小林 (koichik) です.
Date: Fri, 22 Aug 2008 13:56:56 +0900
From: "陳捷" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15459] Isolation Levelについて
> DB2では、分離レベルは4つあります:RR、RS、CS、UR。
>
> DB2の分離レベルを使用したい場合は、DB2のDialectを使うべきだと思います。
コネクションレベルで分離レベルを設定する場合は,
JDBC APIで設定できるので Dialect を意識する必要は
ありません.
Connection#setTransactionIsolation(int)
DB2 の分離レベルと JDBC (ANSI/ISO SQL 標準) との
対応は以下のとおりです.
UR : Connection#TRANSACTION_READ_UNCOMMITTED
CS : Connection#TRANSACTION_READ_COMMITTED
RS : Connection#TRANSACTION_REPEATABLE_READ
RR : Connection#TRANSACTION_SERIALIZABLE
コネクションプール全体で分離レベルを設定するには
jdbc.dicon で次のように設定します.
<component name="connectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
<property name="transactionIsolationLevel">
@[E-MAIL ADDRESS DELETED]
</property>
...
コネクションごとに個別に設定するなら,DataSource から
getConnection() でコネクションを取得して
Connection#setTransactionIsolation(int) で
設定してください.
その場合,上記の方法でコネクションプールに
デフォルトの分離レベルを設定してください.
コネクションプールからコネクションを取得する度,
デフォルトの分離レベルが設定されます.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内