[Seasar-user:7068] Re: [DBFlute] 複数DBアクセス時のallcommonについて
kubo
[E-MAIL ADDRESS DELETED]
2007年 4月 5日 (木) 17:03:58 JST
久保です。
> DBFluteにて2つのDBにアクセスするために、DBFlute.jar、dbflute.dicon、jdbc.diconをそれぞれ2つずつ作成し、
> DBFluteのルートパッケージを変えています。
>
> その際、1つのクラス内で2つのDBにアクセスする際に、
> allcommon群のクラスがかぶってしまいます。(同名クラスで別パッケージ)
>
> 現在、ListResultBeanが重複しているので、importせずに
> 都度フルパス指定することで回避しています。
>
> このようなケースで別によい解決方法がございましたら
> ご教授頂けないでしょうか?
自分の周りでも複数DBでDBFluteが使われ始めたので、
どうにかしたいと考えておりました。
理想としては dbflute-api.jar というような jar を提供して
allcommon で本当に共通のものはそちらに格納するべきかなと
考えておりますが、「必要なjarが一つ増える」ことになり、
ちょっとマイナーバージョンアップではインパクトがでかいかなと
考え、ちょっと行動には移せていません。
(そうなると、ただの自動生成ツールではなくなってまう!?!?)
とりあえずは、「名前が違っていれば良い」というのであれば
build-xxx.propertiesに
torque.projectPrefix = Ld
と指定すると、指定された方のDBFluteのClassの名前の先頭に“Ld”が付きます。
→ LdListResultBean
【BasicPropertiesのProjectPrefixを参照】
http://dbflute.sandbox.seasar.org/ja/basic_properties.html
自分のProjectでは、移行バッチで複数DB参照する際に、
移行元(From)の方のDBFluteには、“Fm”と2文字付けています。
(移行先は画面とかでも利用するメインなので特にPrefixは付けていない)
ただ、projectPrefixを付けた時に、
BehaviorやDaoのComponent名(diconに定義されている名前)に
その「projectPrefix」が付与されないというバグがあり、
今修正中で御座います。
(今だとComponent名がバッティングしてしまう)
(今週末には直して、DBFlute-0.4.4 とするつもりです)
ただ(もう一つ)、米原さんのProjectで既に複数DBで
たくさんのProgramを書かれているようであれば、
projectPrefixを付けると参照している部分が
全てCompileErrorになってしまいます。
その部分はProjectの都合が色々あり、ちょっと自分では判断できない
のですが、申し訳ございませんが、上記のような状況です。
Seasar-user メーリングリストの案内