使用JPA保存對象時報nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly錯誤


使用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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM