SpringBoot Jpa MySql 字段默认值为 CURRENT_TIMESTAMP 失效

问题描述

我在mysql数据库中建了一张表,其中一个字段create_time的默认值的CURRENT_TIMESTAMP,
我在项目中进行但愿测试的时候 新增了一条数据。
项目是使用的SpringBoot框架 结合 jpa 和 表之间形成印社关系,并对表进行操作。
新增数据成功后,我发现create_time的值为null

百度 google之后没有发现解决问题的思路。特来询问。谢谢!
下面是相关截图
图片描述

图片描述

当前使用的mysql版本为8
图片描述

阅读 9.4k
1 个回答
create table tablename (
…… 
    `create_time` timestamp not null default current_timestamp comment '创建时间',
…… 
)

以前遇到过同样的情况
如果你的sql创表格式没错的话,
你entity类里面不要写createtime和updatetime属性,因为一旦传参进去,就会更新为null

/0718中午更新
必须取到两个时间的值并且实现update自动的更新的话修改如下(已测试通过)
在entity类上加注解@EntityListeners(AuditingEntityListener.class)
在两个属性上分别加注解
@CreatedDate @LastModifiedDate
在你的启动类**application上加注解@EnableJpaAuditing
--测试一下save和更新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题