[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 メーリングリストの案内