[Seasar-user:16287] Re: 【 S2Dao 】複数テーブルを結合してデータを取得した場合の戻り値について
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2008年 11月 13日 (木) 10:03:55 JST
中村(taedium)です。
> <http://s2dao.seasar.org/ja/s2dao.html#N1Mapping>に従って、
> 外部ファイルを使用せずに定数で同じSQLを実行した場合は、
> 上記のEntityクラス(Saleline)に結合相手のEntityクラス(Product)を
> 変数として定義すれば、自動的にS2Daoがその変数に実行結果を格納してくれま
> した。
> 外部ファイルでも同じ動作としたいのですが、可能でしょうか。
RELKEYSアノテーション(@RelationのrelationKey )に
指定するキーをSQLファイルのSELECT句に含めれば、同じような動作をします。
含めるのは、N側のキーと1側のキーどちらか一方で大丈夫です。
この方法でも構いませんが、
複数テーブルのカラムを同時に取得したい場合は、
public class SalelineDto extends Saleline {
private String name;←PRODUCTテーブルの項目
}
のように、結果セットごとにクラスを定義してしまって
もわかりやすいと思います。
(この例では、ベースとなるクラスを継承して、
新しいクラスを定義しています。)
ただし、クラス数が増える、N対1を表せないなどの
デメリットがあります。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内