1. 程式人生 > >異常處理:Null value was assigned to a property of primitive type setter of"原因及解決方案

異常處理:Null value was assigned to a property of primitive type setter of"原因及解決方案

在action請求資料的過程中報出"Null value was assigned to a property of primitive type setter of"錯誤,搜尋之後發現是因為資料庫裡相應的欄位為NULL。

例如:

Java程式碼: [java] view plaincopyprint?
  1. <!--Hibernate對映檔案中的欄位-->  
  2. <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基本型別對應的包裝類,防止查詢資料時報錯。