異常處理:Null value was assigned to a property of primitive type setter of"原因及解決方案
阿新 • • 發佈:2019-02-07
在action請求資料的過程中報出"Null value was assigned to a property of primitive type setter of"錯誤,搜尋之後發現是因為資料庫裡相應的欄位為NULL。
例如:
Java程式碼: [java] view plaincopyprint?- <!--Hibernate對映檔案中的欄位-->
- <property name="printTime" type="long"><column name="print_time"/></property>
其中的型別為hibernate型別,在生成的類中,printTime欄位為long型別,為基本型別,不能為NULL。
解決方法:
第一種:資料庫欄位不設定為空;
第二種:手動修改對映檔案,printTime使用Java型別Long,即type="java.lang.Long",Book類中的欄位也要改為Long。同理,int為Integer.
第三種:在反向工程時使用Java型別,而不是hibernate型別。
原則上設計類的時候,類的屬性都應該設為java基本型別對應的包裝類,防止查詢資料時報錯。