[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 02/19 10:25 / Filesize : 51 KB / Number-of Response : 142
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Java⇔RDBのMapping-Frameworkを語るスレ Vol.5



114 名前:デフォルトの名無しさん [2008/12/05(金) 00:39:54 ]
質問です。

複数のスキーマがあり、プログラム起動時にアクセスするスキーマを動的に切り替えたい。
SCHEMA_01.TABLE_01
SCHEMA_02.TABLE_01
SCHEMA_03.TABLE_01
(TABLE_01のレイアウトは全て共通)

iBatis2.3.4で試してみたところ
<select id="getTABLE_01" parameterClass="java.util.Map" resultClass="examples.dto.TABLE_01">
SELECT * FROM $SCHEMA$.TABLE_01 WHERE ID = #ID#
</select>

HashMap map = new HashMap();
map.put("SCHEMA", "SCHEMA_01");
map.put("ID", "1");
TABLE_01 dto = (TABLE_01)sqlMap.queryForObject("getTABLE_01", map);
とすることで一応、目的を果たせました。

ですが、この方法ですと毎回HashmapにSCHEMAパラメータを指定する必要があり、
またparameterClassに自前クラスを指定したい場合などに困ったことになります。
sqlMap側でデフォルトスキーマを指定するようなパラメータがないか調べたのですが、見つかりませんでした。
もう少しスマートに行う方法はありませんでしょうか?

ちなみにHibernateでもアレコレやってみましたが、
こちらは動的に切り替える方法が全く分かりませんでした。







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<51KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef