该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
使用Idea学习Spring Boot的简单Demo过程中遇到一个创建时间的Bug,在设置实体类的创建时间、更新时间时,创建新用户(User)时,创建时间和更新时间都没问题,
但是在每一次更新时,会把创建时间给覆盖为null,更新时间会正常刷新,求诸位大牛赐教,感激不尽。
数据库设置如下:
CREATE TABLE `student`.`user`(
`phonenumber` BIGINT(20) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`phonenumber`));
实体类设置如下:
@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "user")
public class User {
@Id
private Long phoneNumber;
private String pwd;
@CreatedDate
private Date createTime;
@LastModifiedDate
private Date updateTime;
public Long getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(Long phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public User() {
}
}
接着是Application启动类
@EnableJpaAuditing
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
下面是Service中的更新操作
//更新用户
public User updateUser(Long phoneNumber, String pwd) {
User user = new User();
user.setPhoneNumber(phoneNumber);
user.setPwd(pwd);
return userRepository.save(user);
}