[Seasar-user:17702] 複数データソース時のEntityManagerの挙動について
duran
[E-MAIL ADDRESS DELETED]
2009年 6月 11日 (木) 15:15:17 JST
和田と申します。
今、複数のDBに接続するWebアプリを作成しています。
その中で下記の問題に当たりました。
■現象
データベースへの接続定義を設定しているdiconファイルの、
順番に接続先が左右される。
jdbc.diconから foo_jdbc.dicon bar_jdbc.diconを以下のように
インクルードします。
※それぞれ違うDBに接続
<include path="foo_jdbc.dicon"/>
<include path="bar_jdbc.dicon"/>
customizer.diconでは対応するパッケージ設定を以下のようにします。
foo_jdbc => org.foo.dao
bar_jdbc => org.bar.dao
このように設定した場合に、
org.bar.dao.impl で EntityManagerを使用したDaoを作成し、
実行した場合に、foo_jdbc.diconのDBが参照されているため、
テーブルが見つからないので「SELECT項目がありません」とエラーになります。
jdbc.diconのインクルードの順序を変えると、
正常に実行できるようです。
ただし、逆にorg.foo.dao.impl で EntityManagerを使用した場合は、
bar_jdbc.diconのDBを参照してしまいます。
EntityManagerを使用しない場合は、正常に動作します。
何か設定が悪いのでしょうか?
以上、よろしくお願いします。
Seasar-user メーリングリストの案内