java.sql.SQLException: 流已被关闭

拟墨画扇 提交于 2019-12-05 07:04:34

mysql转oracle数据库时,若表中存在long型字段(length>=4096),读取表数据有时会报错“java.sql.SQLException: 流已被关闭” 。 debug之后发现是因为数据库表中存在longtext 类型的数据,oracle没有这种类型。oracle有个等价的类型,叫clob。可参考StackOverflow上的介绍。因此将该字段改为clob类型的就OK了。

用注解的方式:

@Entity
public class domain {
    @Column(length = 4096)
    private String richText;
}

改为

public class domain {
    @Lob
    @Basic(fetch = FetchType.LAZY)
    @Column(columnDefinition = "CLOB", nullable = true)
    private String richText;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!