[Seasar-user:16286] 【 S2Dao 】複数テーブルを結合してデータを取得した場合の戻り値について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 11月 13日 (木) 00:00:39 JST
お世話になっております。
谷口と申します。
現在、お客様のシステムの開発にて、
s2dao-1.0.48を使用せていただいております。
複数テーブルを結合してデータを取得する際に
解決できない問題があり、メールさせていただきました。
下記の外部SQLファイルを実行したところ、戻り値のEnityクラス(SaleLine)
に両テーブルの検索項目を全て定義する必要がありました。
---------【実行sqlファイル(TestDao_searchSaleLine.sql)】---------
SELECT SALELINE.SALELINEID, PRODUCT.NAME, SALELINE.QUANTITY
FROM SALELINE INNER JOIN PRODUCT ON
SALELINE.PRODUCTID = PRODUCT.ID;
-----------------------------------------------------------------
-----------------------【Entityクラス】---------------------------
package jp.co.sample.test.dto;
import java.sql.Timestamp;
public class Saleline {
private int salelineId;
private int productId;
private int quantity;
private String name;←PRODUCTテーブルの項目をSALELINEテーブルの
Entityに記述する必要があります。
private Integer id;
〜以下getter、setter〜
}
}
-----------------------------------------------------------------
<http://s2dao.seasar.org/ja/s2dao.html#N1Mapping>に従って、
外部ファイルを使用せずに定数で同じSQLを実行した場合は、
上記のEntityクラス(Saleline)に結合相手のEntityクラス(Product)を
変数として定義すれば、自動的にS2Daoがその変数に実行結果を格納してくれま
した。
外部ファイルでも同じ動作としたいのですが、可能でしょうか。
情報として、外部ファイルを使用した場合のDAOyの
ソースを下記に記載しております。
-----------------------【Daoクラス】-----------------------------
package jp.co.sample.test.dao;
import java.util.List;
import jp.co.sample.test.dto.Saleline;
public interface TestDao {
public List<Saleline> searchSaleLine(Saleline dto);
}
-----------------------------------------------------------------
未熟者のため、質問内容がわかりにくいかもしれませんが、
よろしくお願いいたします。
Seasar-user メーリングリストの案内