以下のようなマッピングファイルを書きました。mybatis <id>タグ<resultMap>の動作
<resultMap id="fooResultMap" type="Foo" >
<result column="NAME" property="name" jdbcType="VARCHAR" />
<association property="bar" resultMap="barResultMap" />
</resultMap>
私は、同じ名前のcolmun値、MyBatisのリターンのみ1のFooオブジェクトの2レコードを取得。 バーの列が異なるため、2つのFooオブジェクトが必要です。
したがって、私は以下の回避策を講じています。
<resultMap id="fooResultMap" type="Foo" >
<id column="dummy_column_for_unique" />
<result column="NAME" property="name" jdbcType="VARCHAR" />
<association property="bar" resultMap="barResultMap" />
</resultMap>
Iは<このresultMap >と "dummy_column_for_unique" 欄に<ID>タグを追加して(存在しない)ダミーです。 2つのFooオブジェクトが見つかりました。
ダミー列の結果がnullで、mybatisがおそらくnull値を別のレコードとして処理するとします。 しかし、このような動作は、私が検索したインターネット上のマニュアルや他のリソースでは説明されていません。
この現象に関する情報はありますか?
ご返信ありがとうございます。 実際には、私の遭遇したsqlsは、他の人と複合体によって書かれたものです(結合、グループ化、組合...)、 なので、どの列がユニークであるかを特定するのは難しいようです.... #あなたが言うように。 –