java.sql.SQLException: 流已被關閉

mysql轉oracle數據庫時,若表中存在long型字段(length>=4096),讀取表數據有時會報錯「java.sql.SQLException: 流已被關閉」 。 debug以後發現是由於數據庫表中存在longtext 類型的數據,oracle沒有這種類型。oracle有個等價的類型,叫clob。可參考StackOverflow上的介紹。所以將該字段改成clob類型的就OK了。java

用註解的方式:mysql

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

改成sql

public class domain {
    @Lob
    @Basic(fetch = FetchType.LAZY)
    @Column(columnDefinition = "CLOB", nullable = true)
    private String richText;
}
相關文章
相關標籤/搜索