[Seasar-user:21491] jdbc.diconにおけるPostgreSQLのautoCommit設定について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2012年 11月 6日 (火) 11:45:37 JST
はじめまして。荒木と申します。
PostgreSQL + S2Dao + Teedaの開発をしています。
動作環境
jdk1.6.0_34
tomcat-6.0.35
eclipse3.4.2
Teeda 1.0.12
S2Dao 1.0.47
PostgreSQL 9.1.5
jdbc.diconで以下の通りautoCommitを無効にしているのですが、update文などが実
行されても自動的にコミットされてしまいます。
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"org.postgresql.Driver"
</property>
<property name="URL">
"jdbc:postgresql://PORTAL_IFRS_IT_DB/test"
</property>
<property name="user">"test"</property>
<property name="password">"test"</property>
<initMethod name="addProperty">
<arg>"autoCommit"</arg>
<arg>"false"</arg>
</initMethod>
</component>
jdbc.diconでautoCommitを無効にするにはどうしたらよいのでしょうか。
なお、S2Dao+jdbc.diconではなく、以下の通りsetAutoCommitメソッドを 明示的に
記述するとautoCommitが無効になりました。
try {
// JDBCドライバの登録
String driver = "org.postgresql.Driver";
// データベースの指定
String url = "jdbc:postgresql://PORTAL_IFRS_IT_DB/test";
String user = "test"; //データベース作成ユーザ名
String password = "test"; //データベース作成ユーザパスワー
ド
Class.forName (driver);
// データベースとの接続
Connection con = DriverManager.getConnection(url, user,
password);
con.setAutoCommit (false);
Statement stmt = con.createStatement ();
String sql = "UPDATE m_kanri_kengen SET update_dt = now()
WHERE kanri_kengen_cd = 'G110'";
stmt.executeUpdate(sql);
stmt.close();
con.close();
} catch (SQLException e) {
System.err.println("SQL failed.");
e.printStackTrace ();
} catch (ClassNotFoundException ex) {
ex.printStackTrace ();
}
以上、宜しくお願い致します。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121106/bedd4036/attachment.html>
Seasar-user メーリングリストの案内