[英]How to convert varchar to java.sql.Clob
以前我有一個名為summary的數據庫column
名稱,其類型為varchar
private String summary;
最近我想將此列數據類型更改為TEXT
以啟用存儲大數據。為此,我在hibernate
使用了lob
注釋。
@lob
private String summary;
因此,我可以將大量數據存儲到該摘要字段中。但是問題是我有一些舊記錄,其中摘要字段包含varchar。 當獲取數據集時,它拋出一個錯誤An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'
。我的問題是,
如果有人知道,請不要回答。
從字符串遷移到Clob的最簡單方法是:
1-添加這樣的中間屬性
@lob private String summaryAux;
並從summary屬性中刪除@lob
2-使用Java主函數獲取所有記錄,並將“摘要”設置為“ summaryAux”。
main(){
List<Record> records = getAllRecors();
for(Record record: records){
record.setSummaryAux(record.getSummary());}
saveRecords(records);
}
3-刪除
@lob private String summaryAux;
從您的代碼中,然后將@lob再次放在private String summary;
並從關聯表中刪除摘要列,最后重命名summaryAux column => summary
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.