錯誤信息:ids for this class must be manually assigned before calling save(): sample.db.Completedsample


錯誤信息:ids for this class must be manually assigned before calling save(): sample.db.Completedsample

原因分析:從字面上理解的意思是,在save之前,必須手動指定id,其中id的;

解決辦法:將主鍵設為自增,原先需要主鍵表示的數據,重新設置一個鍵。此時主鍵id的 ;之前主鍵沒有設為自增,將id的generator的class設為increment也是同樣的效果。

資料:元素映射了相應數據庫表的主鍵字段,對其子元素,其中class的取值可以為increment、identity、sequence、hilo、native……等,更多的可參考hibernate參考文檔,一般取其值為native ;ps:我用的是MySQL,取值為native時也會報錯。
http://blog.163.com/starfish_yang/blog/static/686256852010102785912790/ 這個blog中有每種class值的詳解。

總結:還是沒有弄清楚為何會報錯,開始的時候數據庫中id不是自增的,程序中也setId了,出現了如上的報錯信息。使用main函數測試,非自增的情況下,是可以直接指定id值的,然后,使用網頁測試,也是可以的,這個問題沒有能夠重現。


免責聲明!

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



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