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