[Seasar-user:20677] Re: 動的のO/Rマッピング

Nguyen Vu Hung (VNC) [E-MAIL ADDRESS DELETED]
2011年 3月 23日 (水) 17:35:09 JST


久保さん、

メールをありがとうございます。vuhungです。

インラインで返答させていただきます。

(2011/03/23 14:50), kubo wrote:
>> yomikomi.txtファイルにて
>> 1行目:<table name 1>,<table name 2>
>> 2行目:select文の記載
> の1行目のテーブル名ってそもそも必要なのでしょうか?
確かにデータ抽出には不要ですね。
#1行目のテーブル名は抽出したcsvファイル名に使うものです。

> 2行目に実行するSQLがあるなら、それを単に実行して、
> テーブル数が幾つであろうが(どんなテーブルがあろうが)、
> そのSQLの結果を(select句のままに)csvファイルに
> 落とせば良いように思えるのですがどうなのでしょう?
シンプルな場合はその通りでございます。
select句を実行した結果をJava上のオブジェクトに保存しておき、csvファイル 
に落とす流れになります。

> 抽出だけでなく加工する必要があると書かれていますので、
> その加工作業にテーブル名が必要なのでしょうか?
テーブル名が不要です。

言葉足らずですが、「加工」というのは抽出した値をcsvファイルに入れる・入 
れない、
または日付フォーマットを変えるくらいです。

> また、1行目に列挙するテーブル数に上限はあるのでしょうか?
現状では最大3テーブルまでとのことですが、
その制限をなくしたいので質問いたしました。

> 以前のメールでの質問と内容が重複しますが、
> 基点テーブルは決まっていて、例えば「会員」、
> その関連テーブルをどれだけ一緒に取得するかどうか、
> が動的に変わるのでしょうか?
 > 
http://dbflute.sandbox.seasar.org/ja/manual/reference/example/exampledb.html
動的に変わりません。

> それとも、基点テーブルは「会員」かもしれないし、
> 「購入」かもしれないし、と完全にどんなテーブルが
> 来るのかわからないのでしょうか?
その通りです。

おっしゃっている通りに、難しそうですので、
jdbcを使うことにしました。

宜しくお願いします。

> 2011/3/23 Nguyen Vu Hung (VNC)<[E-MAIL ADDRESS DELETED]>:
>> 金子さん、久保さん、
>>
>> いつもお世話になっております。vuhungと申します。
>>
>> 課題の発生契機としは、複数のテーブルから、運用者が
>> 設定可能なSELECT文をSeasarで抽出・加工し、csvファイルに落とす
>> 夜間に実行するバッチを作成したいのです。
>>
>> 以前のメールで書きましたように、「SELECT文」では、1つまたは
>> 複数のテーブルの可能性があります。
>>
>> 例として、
>>
>> yomikomi.txtファイルにて
>> 1行目:<table name 1>,<table name 2>
>> 2行目:select文の記載
>>
>> 「yomikomi.txtファイル」ファイルはJAVAプログラマの管理対象外で、
>> select文のとおりにデータを抽出し、加工作業を加え、csvファイルを落とせばよいです。
>>
>> 厄介なのは、一行目のテーブル数がJAVA側では想定の範囲外です。
>>
>> なので、外出しSQLであろが, ConditionBean(条件付きBean)であろが、
>> 結局、形の決まったBeanにマッピングしなければならないと思っています。
>>
>>> [Seasar-user:18921] 【DBFlute】 SQL文の直接実行
>>> http://ml.seasar.org/archives/seasar-user/2009-November/018922.html
>> これは別の課題だと思います。
>>
>> #もちろん、標準のjdbcを使う手はあります。
>>
>> ご不明点がありましたらご連絡下さい。
>>
>> 宜しくお願いします。
>>
>>
>> (2011/03/22 10:05), kubo wrote:
>>
>> 久保(jflute)です。
>>
>> こんにちは、Nguyen さん
>>
>> 難しい問題と思われるので、より詳しい情報を
>> 提供して頂けると助かります。
>>
>> (運用者が)SELECT文をテキストファイル記入させますが、
>>
>> この点がちょっとこちらでは理解できて
>> いませんので、もっと詳細な説明を下さい。
>>
>> これは、アプリケーションの利用者(運用者)が、
>> テキストファイルにSQL文(select文)を書いて、
>> そのSQLをアプリケーションで実行するという
>> ことでしょうか?
>>
>> もし、そうであるならば、結合の方法以前に、
>> そもそもその機能をどうやって実現しようと
>> 想定していますでしょうか?
>> (ConditionBean or OutsideSql?)
>>
>> また、そのSQLの結果はどのような目的に
>> 利用するのでしょうか?(画面に表示する?)
>>
>> そのテーブル内のテーブル数は事前に想定できない場合は
>> (DBFluteのプログラマが)O/Rマッピングの対応はどうすればよいでしょうか
>>
>> DBFlute の ExampleDB で例えると、
>>
>> // ExampleDB | DBFlute
>> http://dbflute.sandbox.seasar.org/ja/manual/reference/example/exampledb.html
>>
>> 検索対象が「会員」だけでなく、
>> 「会員ステータス」を含んだり「会員退会情報」を含んだりと、
>> FKで結ばれる、もしくは、FKで結ぶことが可能なテーブルを
>> (運用者の)状況次第で動的に取得(結合)したりしなかったりする、
>> と考えてよろしいでしょうか?

-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20110323/b7152d55/attachment.html>


Seasar-user メーリングリストの案内