ひがやすを技術ブログ

電通国際情報サービスのプログラマ

OracleのUnicode問題

で〜が化ける件、前に谷口さんに言われたときに、ResultSetFactoryで、ResultSetのラッパーを返す仕組みは、盛り込んだんですが、自分のところで再現できなくて、そのままにしてました。
今回、鰈崎さんの日記をみて、もう一度トライしたら、自分の環境で再現できたので、S2JDBC, S2Daoに対応策を盛り込みました。
j2ee.diconに次のエントリが追加されています。

<component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>

これをコメントにし、直下のエントリを有効にします。

<component class="org.seasar.extension.jdbc.impl.OracleResultSetFactory"/>

これで、OracleUnicode問題に対応できます。
実際は、BasicSelectHandler, S2DaoInterceptorにResultSetFactoryが自動でDIされています。
以前は、BasicSelectHandlerのstaticフィールドにResultSetFactoryを設定していたのですが、異なるデータベースへ対応するために仕組みも若干変更しました。