使用JPA保存對象時報nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly錯誤
剛開始以為是數據庫中的表有問題,主鍵的字段不能為空,結果給它賦值了還是不行,再一看數據庫中有些非空的字段沒有設值,又改了
一下表的結構,允許為空,結果還是報錯。再一想是不是因為實體類實現了序列化的原因,把序列化給注釋了還是不行,最后回想到在生
成實體類的時候有四個字段改成了Serializable類型,然后我在實現類中又手動的將它改成了String類型,所以報錯了。
解決方法:將ntext類型改為text類型就可以了
在SQL中:
ntext和text一樣用來保存大量的文字數據,不過text用單字節保存數據 ,ntext固定用雙字節保存數據. ntext保存的是Unicode的字符 , ntext支持跨語言平台。
ntext:
可變長度 Unicode 數據的最大長度為 230 - 1 (1,073,741,823) 個字符。存儲大小是所輸入字符個數的兩倍(以字節為單位)。ntext 在 SQL-92 中的同義詞是 national text。
ntext中存數據是按雙字節存的 ,顯示不了NTEXT你換一下recordset打開方式就行了
text:
服務器代碼頁中的可變長度非 Unicode 數據的最大長度為 231-1 (2,147,483,647) 個字符。當服務器代碼頁使用雙字節字符時,存儲量仍是 2,147,483,647 字節。存儲大小可能小於 2,147,483,647 字節(取決於字符串)。
原文博客的鏈接地址:https://cnblogs.com/qzf/