[Seasar-user:13400] Re: DBfluteのCB、Bhvクラスについて
kubo
[E-MAIL ADDRESS DELETED]
2008年 3月 24日 (月) 11:37:03 JST
久保です。
> DBfluteではテーブル一つに対して、同じプロパティを持つEntityが生成されるのではないのですか?
はい、これはそのとおりです。
会員というテーブル、会員ステータスというテーブルがあったら、
会員 → MEMBERというEntityクラス
会員ステータス → MEMBER_STATUSというEntityクラス
> 複数のテーブルからデータを取得する場合、格納先のEntityクラスと取得した項目の齟齬がでると
> 思うのですがこの認識は誤りでしょうか?(実は複数テーブルからの取得でここが一番の疑問でした。)
ConditionBeanでsetupSelect_MemberStatus()としたとき、SQL上は
select 会員の項目、会員ステータスの項目
from 会員 left outer join 会員ステータス
となり、Java上では
会員ステータスEntity memberStatus = 会員Entity.get会員ステータスEntity();
... = memberStatus.get会員ステータスの項目();
のように、会員ステータスの項目を取得することができます。
> Sqlファイルからデータを取得するときに、対応する項目のEntityクラスを生成するように
> ConditonBeanを利用する場合も対応するEntityクラスを作成する必要があるのでしょうか?
これは必要ありません。ConditionBeanで利用するEntityはすべて
「generate.bat」で生成されたテーブルと1対1のEntityクラスだけで
データハンドリングします。
もし、よろしければこちらのExampleを参考にされると良いかと思います。
// SVNリポジトリのURL
https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-basic-example
H2データベースを組み込みで利用していますので、チェックアウトして頂くだけで
DBFluteで生成されたクラスのExampleがJUnitで実行可能です。
2008/3/24 <[E-MAIL ADDRESS DELETED]>:
>
> 久保さん
>
> お返事ありがとうございます。加勢です。
> もう一点、複数テーブルからの取得について質問がございます。
>
> > DBfluteのConditonBeanクラスから、複数テーブルの項目を取得する事は可能なのか?
> >「複数テーブルの項目の取得」という言葉に対して厳密な答えではないかも
> >しれませんが、FK制約が付与されている関連テーブルに関して可能です。
> >
> >// 会員一覧で、親テーブルの会員ステータスを結合して取得
> >MemberCB cb = new MemberCB();
> >cb.setupSelect_MemberStatus(); // ★
> >List<Member> memberList = memberBhv.selectList(cb);
> >for (Member member : memberList) {
> > MemberStatus memberStatus = member.getMemberStatus();
> > ... = memberStatus.getXxx();
> >}
>
> 上記の方法で、データを取得した場合、Entityクラスはどのように用意すれば良いのでしょうか?
>
> DBfluteではテーブル一つに対して、同じプロパティを持つEntityが生成されるのではないのですか?
> 複数のテーブルからデータを取得する場合、格納先のEntityクラスと取得した項目の齟齬がでると
> 思うのですがこの認識は誤りでしょうか?(実は複数テーブルからの取得でここが一番の疑問でした。)
>
> Sqlファイルからデータを取得するときに、対応する項目のEntityクラスを生成するように
> ConditonBeanを利用する場合も対応するEntityクラスを作成する必要があるのでしょうか?
>
> 何卒よろしく御願いいたします。
>
>
>
>
> ________________________________
> MSNミュージックとEMI Artistsが共同開催するオーディション SCHOOL OF SCHOOL
> http://music.jp.msn.com/
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
Seasar-user メーリングリストの案内