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