為了實現與數據庫無關,可以方便的在mysql和oracle之間移植,所以不能對于數據庫操作進行硬編碼。當然是使用hibernate,但是實現mysql的text字段和oracle的clob字段之間的轉換確實有點麻煩,幸好hibernate提供了net.sf.hibernate.type.TextType 類型。它可以方便的在clob和text數據類型之間轉換。
在轉換完成之后,總是報告“streams type cannot be used in batching”,將hibernate的配置文件中,設置hibernate.jdbc.batch_size =0 即可解決此問題。
在解決上問題后,我發現向clob字段寫入小數據量可以,但是數據量一大就會有問題,不能正常寫入,hibernate也不會報告錯誤。經jaoso的作者提醒,可在hbm文件中,設置length="10000"(你許可的最大長度) 就可以了。