@DBFlute-0.9.5-RC1, Java, Spring, DBCP http://d.hatena.ne.jp/jflute/20090421/1240240410#c1240838030 こちらの件の話です。 Spring FrameworkとCommon DBCPを組み合わせて利用する場合、 DBCPのDataSourceがスレッドコンテキスト対応していないため、 何も考えずに使うとトランザクション掛けてるつもりで掛かってない 場合があります(DataSource#getConnection()を使ってると)。 Spring Frameworkが提供するユーティリティの DataSourceUtils#getConnection(DataSource) を経由することでスレッドコンテキストに対応することができます。 ということで、DBFluteではアプリケーション起動時に、 DBFluteConfigにDataSourceHandlerを設定をして、 そのHandlerの中でDataSourceUtilsを利用するようにすれば、 この問題に対応できるようにしていました。 しかしながら、この組み合わせは今後も多いかと思いますので、 「Spring + DBCPだったらそのHandlerを自動で設定」 するようにしました。なのでこの話をあまり意識しなくても 問題が発生しないようになります。 # # 「DBCPであること」の具体的なロジックとして、 # DataSourceインスタンスの# getClass().getName()の # パッケージ名を判定しています。 #