1

結果が次のようになるはずのibatisクエリを作成しています:

Map<String,CustomData>

私のibatisクエリ:

<resultMap id="dataMap" class="java.util.HashMap">
    <result property="key" column="UUID"/>
    <result property="value" resultMap ="customData"/>
</resultMap>

<resultMap id="customData" class="com.model.CustomData">
    <result property="x" column="X_COL"/>

</resultMap>

<select id="fetchData"
        resultClass="java.util.HashMap"
        parameterClass="java.util.Map">
   SELECT
    UUID AS UUID,
    (CASE
    WHEN SOME_DATA IS NOT NULL THEN  'TRUE'         
    END) AS X_COL
    FROM TABLE
 </select>

CustomDataはJavaクラスです。

public class CustomData{
 private String x;

//Getters & Setters

}

私はJavaで次のものを取得することを期待しています:

Map<String,CustomData>

しかし、私は次のようになります。

Map<String,String>

何か案は !

4

1 に答える 1

3

タグのresultClass属性を次のような値に置き換えてみてください。selectresultMap"dataMap"

<select id="fetchData"
    resultMap="dataMap"
    parameterClass="java.util.Map">
<!-- your query -->
</select>

あなたの場合、メソッドはこれの代わりにqueryForListインスタンス化を試みます、それはあなたが上で定義したマッピングを使用するべきです。java.util.HashMapdataMap

于 2013-01-16T00:19:52.183 に答える