Null value was assigned to a property of primitive type setter of 的原因與解決方案

使用struts+hibernate框架時,出現了以下錯誤:

org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.xxx.publish.entity.Site.isUse
 at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:109)
 at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:352)
 at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:232)
 at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3580)
 at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:152)
 at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:877)
 at org.hibernate.loader.Loader.doQuery(Loader.java:752)
 at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
 at org.hibernate.loader.Loader.doList(Loader.java:2232)
 at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
 at org.hibernate.loader.Loader.list(Loader.java:2124)
 at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)

該問題產生的原因是數據庫中對應的字段值爲NULL,這裏我的數據庫中is_use字段是null


解決方案

  1. 首先要將數據庫中該字段爲null 的記錄設置默認值。避免程序出錯。
  2. 數據庫中設置使用默認值,當保存該字段沒有值時,將默認值設置進來。
  3. 或者將javabean對象中對應的屬性isUse由基本類型boolean修改爲Boolean。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章