[Seasar-user:10073] Re: [S2Dao] 最初の検索結果と2度目の検索結果を戻したい場合
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 8月 23日 (木) 17:23:26 JST
masanです。
そうですよね。すみません。
どのDtoに戻すのかは、指定していました。
で、
以下のように実装してみました。
新規にDtoを元のテーブル継承して作成。
package avpdd2.dto;
import avpdd2.entity.TestBasicTbl;
public class TestBasicTblDto extends TestBasicTbl {
private String tokuseikosu;
public String getTokuseikosu() {
return tokuseikosu;
}
public void setTokuseikosu(String tokuseikosu) {
this.tokuseikosu = tokuseikosu;
}
}
Daoは、戻り値が上記のDtoになるように変更。
package avpdd2.dao;
import org.seasar.dao.annotation.tiger.S2Dao;
import avpdd2.dto.TestBasicTblDto;
import avpdd2.entity.TestBasicTbl;
@S2Dao(bean=TestBasicTbl.class)
public interface TestBasicTblDao {
public TestBasicTbl[] selectAll();
public int insert(TestBasicTbl tbl);
public int update(TestBasicTbl tbl);
public int delete(TestBasicTbl tbl);
// 外部SQLファイル
public TestBasicTblDto[] selectTestListTbl();
}
Serviceクラスからは以下のように呼び出しています。
package avpdd2.web.avpdd2.impl;
import org.seasar.flex2.rpc.remoting.service.annotation.RemotingService;
import avpdd2.dao.TestBasicTblDao;
import avpdd2.dto.TestBasicTblDto;
import avpdd2.web.avpdd2.TestList2Service;
@RemotingService
public class TestList2ServiceImpl implements TestList2Service {
private TestBasicTblDao dao;
public TestBasicTblDao getDao() {
return dao;
}
public void setDao(TestBasicTblDao dao) {
this.dao = dao;
}
public TestBasicTblDto[] readTestBasicTbl() {
return dao.selectTestListTbl();
}
}
上記の変更をして実行。
検索はできているようなのですが、Flex側に表示されません。
(横にスクロールバーが出ているので、単に表示できていないのだと思う)
デバッグ状態にて、上記のDtoに値がセットされていることを確認したいのですが
どのようにしたらいいでしょうか?
以上、よろしくお願いいたします。
>TO: <[E-MAIL ADDRESS DELETED]>
>BCC: M.OOISHI
>送信者 : <[E-MAIL ADDRESS DELETED]>
>主題 : [Seasar-user:10063] Re:[S2Dao] 最初の検索結果と2度目の検索結果を戻したい場合
>受信日 :07/08/23 15:38
>属性 : なし
>
>せとあずさです。
>
>On Thu, 23 Aug 2007 14:54:27 +0900
><[E-MAIL ADDRESS DELETED]> wrote:
>
>> masanです。
>>
>> 小林 (koichik)さん、中村(taedium)さん回答ありがとうございます。
>> 別のDtoを作成しても、大丈夫なのでしょうか?
>> と言うのも、外部ファイルからSQLを実行した時に検索結果をどのDtoに
>> 戻すのかは、名前によって決めているものだ思っていました。
>> 今回の場合、DaoがTestBasicTblで、Dto(Entity)がTestBasicTblDaoです。
>
>違います。
>(1)昔のS2Daoでは、検索結果をどのDtoに戻すかは、Daoに
>つける@S2Daoアノテーションで指定していました。
>
>(2)しかし、これだと今回のように外部ファイルでSQLを
>つくったときに何かと不便なので、
>検索結果をどのDtoに戻すかは、メソッドの返り値の型で決める
>ようになりました。(1.0.43以降)
>
># ということを踏まえたうえで[Seasar-user:10032]をもう一度読んでください。
Seasar-user メーリングリストの案内