[Seasar-user:17197] Re: 2 多対一関連と dto への詰め込みについての質問
Takafumi Yoshida
[E-MAIL ADDRESS DELETED]
2009年 4月 7日 (火) 11:15:17 JST
いつもお世話になります。吉田@オプティクスです。
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 メーリングリストの案内