对这张表添加了字段flag、并设置了默认值1

新增记录是可以入库的,没有问题,可发现flag字段却为null,略思考下,原来是把flag写到实体中了;
结果框架的新增方法(cultureactGzlManager.saveNewObject(msg);)保存实体的时候把null保存进了数据库。
解决方法:去掉实体中的flag即可!
题外话:如果想要在实体中写flag,那么在保存的时候就应该写代码(msg.setFlag(1);),把默认值1保存到flag中去。

可是我要给前台传这个字段啊,实体中不能去掉啊,去掉就没有意义了,还是后台在保存的时候老老实实加代码吧(msg.setFlag(1);)
可是不甘心,加班也要反复尝试,加了这个注解这样是可以的:字面意思就是不让实体insert,由数据库插入默认值

主要是这个注解起作用了,改成Integer也是可以的:

哈哈,改成String也是可以的了,无敌了:


在数据库中为表的flag字段设置了默认值1,但在新增记录时,发现该字段保存为null。原因在于实体模型包含了flag字段,导致框架在保存时将null值写入数据库。解决方法是不包含flag字段于实体中,或者在保存时手动设置flag的值。如果实体必须包含flag,可以使用注解避免实体insert操作,让数据库自动生成默认值。
1434





