oracle.sql.BLOB cannot be cast to oracle.sql.BLOB
问题发现点
在进行BLOB数据类型转化成BASE64类型时出现了此问题;
原因
接收到的这个数据实例是个包裹着java.sql.Blob外壳的Proxy类型的实例。因此,当我们想操作这个Blob数据时就需要针对这个被包装的Blob进行去壳
解决问题的代码
SerializableBlobProxy proxy = (SerializableBlobProxy )Proxy.getInvocationHandler(blob);
java.sql.Blob realBlob = proxy.getWrappedBlob();