Récupérer un blob à partir de la base de données comme un byte[] à l'aide de myBatis

Je suis à l'aide de printemps MyBatis 1.2.0 dans un projet, où j'ai une requête qui récupère les données d'un champ BLOB dans une base de données Oracle 11g. Je veux récupérer le terrain comme un tableau d'octets (byte[]), mon Code est:

<select id="getResponse" resultType="_byte[]" parameterType="string">
   select blob_Data from Table where id = #{value,jdbcType=VARCHAR} AND ROWNUM = 1    
</select>

C'est donner de message d'erreur suivant:

java.lang.ClassCastException: [B incompatible with [Ljava.lang.Object;
    at org.apache.ibatis.binding.MapperMethod.convertToArray(MapperMethod.java:136)
    at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:119)
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:58)
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)

En dehors de cela, j'ai aussi essayé d'utiliser resultMap:

<resultMap id="responseMap" type="ResponseMessageModel">
    <result property="blobData" column="blob_Data"/>
</resultMap>

<select id="getResponse" resultMap="responseMap" parameterType="string">
   select blob_Data from table where id = #{value,jdbcType=VARCHAR} AND ROWNUM = 1    
</select>

et de préciser la javaType:

<resultMap id="responseMap" type="ResponseMessageModel">
      <result property="blobData" javaType="_byte[]" column="blob_Data"/>
</resultMap>

<select id="getResponse" resultMap="responseMap" parameterType="string">
   select blob_Data from table where id = #{value,jdbcType=VARCHAR} AND ROWNUM = 1    
</select>

mais avec pas de chance, donnent tous le même ClassCastException

Quelqu'un pourrait s'il vous plaît dites-moi ce que je fais de mal?

OriginalL'auteur Sumit | 2015-02-23