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; }