情形一:java
jpa程序,访问报错:数据库
org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.surfront.meepao.pojo.GamePlayer.score; nested exception is javax.persistence.PersistenceException: hibernate
缘由以下:
在pojo类GamePlayer中,某int类型的字段score,在数据库中的数据为null。
解决办法:
修改int为其包装类型Integer。orm
情形二:it
1.问题描述io
由于要更改"information"表中的"编号"列为非空,使用数据库查询语句“alter table information modify '编号' varchar(255) not null”能够更改其余的列,但只是在编号列出错,错误信息为Invalid use of NULL value。table
非常奇怪,其余列使用该命令能够查,为何仅有编号列没法查。form
2.错误缘由date
出现该错误的缘由多是由于已存在的数据的‘编号’列为null,与not null的设置冲突。(查到的缘由)。exception
我本身认为是由于在刚开始新建数据表时,将该列的表结构已经设置,在后续进行更改的时候会由于与以前的设置有冲突(至于为何这里更改时不能更改,我也没太理解),由于以前我在新建表的时候将编号列的结构属性设置了。
鉴于没法设置为非空,因此经过新建列并设置好not null,即可以成功。
3.解决办法
1)添加新列,设置列的结构属性。
alter table information add column 'yyy' varchar(255) not null first; -新添加列yyy至第一列.
2)将出错的列内容复制到新列中并删除出错列
update information set yyy='编号'; ---将'编号'列的全部值复制到yyy列.
alter table information drop '编号'; ---删除出错的列.
3)修改新列名为出错的列名
alter table information change 'yyy' '编号' varchar(255) not null;