1 つの結合で異なるキーで結合された同じテーブルから 2 つの異なるレコードを取得しようとしましたが、同じオブジェクトを 2 回取得します。クエリは次のとおりです。
SELECT ISID, ISISIN, ISNMRC, ISTIME, ISTEXT, ISPZDT, ISZADA, ISPOPL,
petitioner.POICO, petitioner.PONMAF, petitioner.POADSI, petitioner.POIDMA,
ADSTR, ADPSC,ADCIT,
bic.BCLCVA, bic.BCBIC, bic.BCPOCP, bic.BCICO,
emitent.PONMAF, emitent.POICO
FROM FVIS00 as isin
left outer join FEPO00 as petitioner on isin.ISZADA = petitioner.POID
left outer join FEAD00 as address on petitioner.POADSI = address.ADID
left outer join FVBC00 as bic on isin.ISISIN = bic.BCCDVA
left outer join FEPO00 as emitent on bic.BCICO = emitent.POICO
結果マップ:
<resultMap type="ISIN" id="isin">
<result property="id" column="ISID"/>
<result property="isin" column="ISISIN"/>
<result property="user" column="ISNMRC"/>
<result property="created" column="ISTIME"/>
<result property="submited" column="ISPZDT"/>
<result property="text" column="ISTEXT"/>
<result property="fee" column="ISPOPL"/>
<association property="petitioner" javaType="LegalPerson" column="ISZADA">
<result property="ico" column="POICO"/>
<result property="name" column="PONMAF"/>
<association property="address" javaType="Address" column="POADSI">
<result property="street" column="ADSTR"/>
<result property="code" column="ADPSC"/>
<result property="town" column="ADCIT"/>
</association>
</association>
<association property="bic" javaType="BIC" column="BCCDVA">
<result property="shortName" column="BCLCVA"/>
<result property="bic" column="BCBIC"/>
<result property="form" column="BCPOCP"/>
<result property="ico" column="BCICO"/>
<association property="emitent" javaType="LegalPerson" column="BCICO" >
<result property="name" column="PONMAF"/>
<result property="ico" column="POICO"/>
</association>
</association>
</resultMap>
しかし、私は常にpetitionerの値で発散します:
## | petitoner | | emitent | ##
CS0005001502 22. 08. 2005 07. 05. 2010 11.22:06.000 580,00 47115629 Burza cenných papírů Praha a.s. 11005 Praha 1 Rybná 14 BAACISBO list 00486949 47115629 Burza cenných papírů Praha a.s. PR_LR převod z SCP
CS0005001544 23. 08. 2005 07. 05. 2010 11.22:06.000 580,00 47115629 Burza cenných papírů Praha a.s. 11005 Praha 1 Rybná 14 BABCISBO list 00486949 47115629 Burza cenných papírů Praha a.s. PR_LR převod z SCP
CS0005002864 24. 08. 2005 07. 05. 2010 11.22:06.000 580,00 00002127 AERO, 19904 Praha 9-letňany Beranových 130 AERO BAAAERO zakn 00002127 00002127 AERO, a.s. PR_LR převod z SCP
CS0005002963 25. 08. 2005 07. 05. 2010 11.22:06.000 580,00 47115629 Burza cenných papírů Praha a.s. 11005 Praha 1 Rybná 14 ČKD BLANSKO BAACKDBK zakn 00002208 47115629 Burza cenných papírů Praha a.s. PR_LR převod z SCP
期待される結果:
## | petitoner | | emitent | ##
CS0005001502 2010-05-07-11.22.06.000000 2005-08-22 580,00 47115629 Burza cenných papírù Praha a.s. 11005 Praha 1 Rybná 14 BAACISBO list 00486949 null null PR_LR převod z SCP
CS0005001544 2010-05-07-11.22.06.000000 2005-08-23 580,00 47115629 Burza cenných papírù Praha a.s. 11005 Praha 1 Rybná 14 BABCISBO list 00486949 null null PR_LR převod z SCP
CS0005002864 2010-05-07-11.22.06.000000 2005-08-24 580,00 00002127 AERO, a.s. 19904 Praha 9-letòany Beranových 130 AERO BAAAERO zakn 00002127 00002127 AERO, a.s. PR_LR převod z SCP
CS0005002963 2010-05-07-11.22.06.000000 2005-08-25 580,00 47115629 Burza cenných papírù Praha a.s. 11005 Praha 1 Rybná 14 ČKD BLANSKO BAACKDBK zakn 00002208 00002208 ÈKD Blansko, a.s. PR_LR převod z SCP
ご覧のとおり、emitter は常にペティショナと同じ値を持ち、結合キーは両方のテーブルで異なる値を持ちます (フィールドは emitent に残されています)。
何か間違っているのでしょうか、それとも MyBatis のバグですか?
ご提案いただきありがとうございます。
あがた