出现该错误,一般是某个字段值的字节长度超过4000的长度。建议改为clob或者截取处理。
String content = "abc123";
if (content != null && content.getBytes(StandardCharsets.UTF_8).length > 4000) {
content = new String(content.getBytes(StandardCharsets.UTF_8), 0, 4000, StandardCharsets.UTF_8);
}
修改字段类型技巧:
1、该字段无数据情况下
varchar2直接修改为clob是会报错的,先修改为long类型,再修改为clob类型。
2、该字段有数据情况下
先重命名该字段为temp,再新建一个字段名字和需要修改的字段一致,使用update把temp更新到新增的字段中,最后删掉temp字段。