iBatis+MySQL BigIntegerの怪

MySQLのBigIntegerをiBatisで扱った時の不思議現象。

桁数でかいのでjava側での受け取りにjava.math.BigIntegerを使いました。
こんな感じ↓

  <resultMap id="extResult" class="jp.co.data.Picture" extends="pkResult">
    <result column="file_size" property="fileSize" jdbcType="BIGINT(22)" />
  </resultMap>
public class Picture {
    private Object fileSize;

    public Object getFileSize() {
        return this.fileSize;
    }

    public void setFileSize(Object fileSize) {
        this.fileSize = fileSize;
    }
}

使うとき。(insert)

Picture picture = new Picture();
picture.setFileSize(BigInteger.valueOf("123456789"));

これで何事も無くできていたのですが、Updateだけ駄目だった。

com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the picture.update-InlineParameterMap.  
--- Check the parameter mapping for the 'fileSize' property.  
--- Cause: java.lang.NullPointerException

ちなみに落ちている理由はBigIntegerのカラムがNotNullだから。
BigIntegerでセットしてupdateってやるとどうやらデータ読み取ってくれないみたいで。
「NotNull指定なのになんで空なんだYO」とぬるぽ出して怒ってらっしゃってる。(多分)
Insertでは問題なかったのに何でだろうね?
ちなみにresultMapにjavaType=java.math.BigIntegerとか指定したりもしたんですが、それやると今度は今まで大丈夫だったselectもinsertも全滅だった。
何なんだ。。
一応IntegerとLongを指定してあげると何事も無く全部成功するんですが、桁数があってないので使えない。
くまった。
とりあえず力押し、って事でDelete/Insertで回避。
根本解決に至らず。
ソースコードひっくり返すしかないかなぁ。。