问题描述:
org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.genye.sorter.model.ChangeWeight.weight
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:85)at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3566)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
at org.hibernate.loader.Loader.doQuery(Loader.java:729)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at com.genye.sorter.dao.ChangeWeightDaoImpl.listAll(ChangeWeightDaoImpl.java:49)
at com.genye.sorter.service.ChangeWeightServiceImpl.listAll(ChangeWeightServiceImpl.java:80)
at com.dx.eds.view.ParameterLoader.load(ParameterLoader.java:198)
at com.dx.eds.view.item.JFrameItem.init(JFrameItem.java:1214)
at com.dx.eds.view.item.JFrameItem.getInstance(JFrameItem.java:1205)
at com.dx.Main.run(Main.java:74)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
... 20 more
是因为数据库中表字段对应的数据与该字段的数据类型不一致导致的,比如表字段的数据类型为double,而数据为NULL,double 类型不能赋值为NULL,就是这样子数据类型不一致才会导致这个错误
解决方法:把实际数据的数据类型和表字段的数据类型调整成数据类型一样的即可。