[Seasar-user:4792] S2DAO で 3 つ以上のテーブルを連結させる方法について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2006年 10月 13日 (金) 22:07:51 JST
はじめまして。
2週間ほど前からSeasarを触り始めた、
ともやと申します。
Seasar、というよりJavaも初心者なもので、
失礼な質問をしてしまうことも多々あるとは思いますが、
よろしくお願いいたします☆
さて、私は現在e-learningの開発に携わっています。
そのシステムでは、
クラスのテーブル、講座のテーブル、
クラスと講座の関連を表すテーブルと、
3つを連結させて検索を行う、
ということが頻繁に起こります。
クラスのテーブルを仮にclass_table、
講座のテーブルを仮にcourse_table、
クラスと講座の関連を表すテーブルをclass_courseとすると、
クラスの名称はclass_tableに、
講座の名称はcourse_tableに存在し、
class_courseにはclass_table、course_tableのキーを持つのみです。
あるクラスに紐付く講座の名称を取得しようとした場合は、
3つのテーブルを連結させなければなりません。
いろいろなS2DAOに関係するページや本を拝見すると、
2つの関連するテーブルを取り扱う例については、
たくさん乗っていますが、
このように3つ以上のテーブルを扱う例については、
私が見た限り、発見できませんでした。
現在は、class_tableとclass_courseを関連付けてDAOを作成し、
そこで取得した講座のキーを元に、
講座のDAOから講座名称を引っ張ってくるようにしています。
もしこのように3つ以上のテーブルを連結する際、
どのようにDAOおよびDTOを作成したらいいか、
教えて頂ければと思います。
ひょっとしたら、テーブル構造事態が、
O/Rマッピングに向かないのかもしれませんが。
3つのテーブルから、
クラスと講座の関連と名称を持ったviewを作成する方法が、
最も早いのかもしれません。
(そうすれば、1つのViewに対しDAOを作成すればいいと思われます。)
説明が下手ですし、
ひょっとしたら同じような事例について、
このメーリングリストにて回答があったのかもしれませんが、
よろしくお願いいたします。
************************************************
株式会社クロスウェア
佐々木 智也
************************************************
---------------------------------
Start Yahoo! Auction now! Check out the cool campaign
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20061013/2a01d28a/attachment.html
Seasar-user メーリングリストの案内