S2Dao N対1マッピングのやり方
DEPテーブル(1側)とUSERテーブル(N側)があって、
DEPNOに紐づくUSERIDを取ってきなさい、というのは普通の話。※1
複数のUSERIDが取れます。
今回はそれに加えて、ちょっと特殊な
「DEPテーブルをN側に見る」やり方を調査する必要があったのでメモ。※2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【テーブル】
★USERTABLE
★DEPTABLE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【Todo】
select * from test_usertable u , test_deptable d
where u.depbango = d.depno and u.userid='0001'
を発行する。
結果はこうなりますね。DEP側がNの関係になっています。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【やり方】
ポイントは「1側のDTOをN側のカラムフィールドと共に定義する」です。
※1の場合だと、N側はUSERですので、DTOはこうなります。
なら※2の場合のN側は?
そう、DEPです。なので、USERをDTOフィールドとしてまとめて定義します。