[Seasar-user:17198] Re: 2 多対一関連と dto への詰め込みについての質問

oriwa [E-MAIL ADDRESS DELETED]
2009年 4月 7日 (火) 11:33:42 JST


吉田様、お世話になります。
アドバイスありがとうございます。

>このServiceはUsersServiceだと思いますが
>1.LoginDtoのInstanceTypeをセッションにする(@Componentタグ)
>2.UsersServiceにLoginDtoをDIする
>3.getLoginUserメソッド内で、2でDIしたLoginDtoに値をセットする
>の手順でいいと思います。

すいません、まだDIとAOPはマスタしていません。
SAStrutsおよびS2JDBCが標準で用意している操作の範囲では可能でしょうか?
LoginDtoのInstanceTypeをセッションにすることは理解しています。

>3は単純に
>public void getLoginUser(String userid) {
>    Users user = select().innerJoin("role")....略
>    loginDto.userid = user.user_id;
>    ...略
>}
>LoginDtoを返す必要はないようにおもいますけど..?

実際の詰め替えはActionで行なうつもりでしたので、LoginDtoを返すことが必要だと考えました。
あと、Userエンティティには、user_roleプロパティがありませんので、userにjoinした結果をセットすることはできないのではないでしょうか?

#勘違いしているところがありましたら大変申し訳ありません。対象箇所をご指摘いただければありがたく思います。

以上、よろしくお願いします。


----- Original Message -----
From: Takafumi Yoshida <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Sent: Tue, 7 Apr 2009 11:15:17 +0900
Subject: Re: [Seasar-user:17197] Re:	2 多対一関連と dto への詰め込みについての質問


>いつもお世話になります。吉田@オプティクスです。
>
>2009/04/07 10:39 oriwa <[E-MAIL ADDRESS DELETED]>:
>> (2) 上記の2つの表をjoinして、user_id, user_name, user_roleだけをプロパティとして持つloginDtoに詰めたい場合、Serviceクラスに下記のようなメソッドを追加し、結果を詰め込むことを考えましたが、
>> public loginDto getLoginUser(String userId){
>>  return select().innerJoin("role").id(userId).getSingleResult();
>> }
>> この場合、user_passも含まれてしまうかと思いますが、これを含めないようにするには、どのようにすればいいでしょうか?
>
>このServiceはUsersServiceだと思いますが
>1.LoginDtoのInstanceTypeをセッションにする(@Componentタグ)
>2.UsersServiceにLoginDtoをDIする
>3.getLoginUserメソッド内で、2でDIしたLoginDtoに値をセットする
>の手順でいいと思います。
>
>3は単純に
>public void getLoginUser(String userid) {
>    Users user = select().innerJoin("role")....略
>    loginDto.userid = user.user_id;
>    ...略
>}
>LoginDtoを返す必要はないようにおもいますけど..?
>
>他のActionやServiceでLoginDtoが必要であれば、DIしてやればOKです。
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user
>


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