mysql设置的默认值为什么失效?
有时候我们在创建mysql的表的时候我们会设置某些字段为⾮空,并且为这些字段设置默认值
下载mysql为什么下载不了但是我们有时候会发现为什么有时候还是会报xxx can not be null
这时候我们可能会觉得我们是不是数据库建表语句有问题,这就可能会浪费很多时间去做了⼀些⽆⽤功!
其实我们在利⽤有些框架的时候会有这些坑,如:JPA-save⽅法,他会insert所有的值,并且没有的值也是会传null,这时候就会导致我们报错,或者默认值失效
如对象student中三个属性,id,name,age 如果我们⽤jpa的save⽅法他执⾏的sql就是insert into student(name,age)values(?,?)
但是如果我们只传了⼀个name,那么上⾯的⽅法就会将age的值赋为null传过去
⽽我们要的操作是 insert into student(name)values(?)不要的值就不要传了,这样mysql的默认值就不会失效了  ^v^
jpa想要动态传值怎么办?
@DynamicInsert
@DynamicUpdate(这个⽤于更新是没有⽤的,可以⽤sql更新)
这两个注解就可以搞定了,⼀开始我还想着重写save⽅法,但是⽹上的那些真的是答案太乱,⽽且亲测没⽤,我是新增,⽹上重写的新增不还是⼀样的,前⾯加个判断id,醉了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。