工作中遇到接口返回数据过长,导致入库异常。记录一下
实体类:
private String responseData;
@Lob
@Basic(fetch = FetchType.EAGER)
@Column(name="RESPONSE_DATA", columnDefinition="CLOB", nullable=true)
public String getResponseData() {
return responseData;
}
该用String类型的还是用String ,只是多添加了几个注解。程序的其他地方没有调整。
数据库:
将varchar2类型改成clob 类型。
例如:将varchar2 类型字段 responseData 调整成clob 类型(字段有数据的情况)。
1. 数据库中再另建一个类型为clob字段responseData_bak 。
2.将responseData 中的数据更新到字段responseData_bak 中:
update table xxx set responseData_bak = responseData;
3.调整字段名称:
alter table xxx rename column responseData to responseData_bakup;
alter table xxx rename column responseData_bak to responseData;