如何使用 Spring 引导在 Mysql 数据库中插入日期属性
How can I insert a Date attribute in Mysql DB using Spring boot
我需要你的帮助,我一直在尝试使用 SpringBoot 和 JPA 将日期字段添加到数据库中,但是当我尝试这样做时将数据插入 null,我的意思是,所有其他字段都可以很好地识别使用Json,但日期字段为空。我发现了其他关于它的问题,但我还没有能够解决它。我还尝试更改日期字段上方的注释,但没有成功。感谢任何帮助,谢谢!
来自我的实体“会员”
@JsonFormat(pattern="yyyy-MM-dd")
@Column(name = "birth_day")
private Date birth_day;
来自我的控制器
@PostMapping()
@ResponseStatus(value = HttpStatus.CREATED)
public ResponseEntity<Member> save(@Validated @RequestBody Member input) {
memberRepository.save(input);
return ResponseEntity.ok().body(input);
}
这是Json我创建并通过body
{
"name": "test",
"last_name": "test",
"phone": "test",
"birth_day": "1991-04-05",
"home_address": "test"
}
这是我得到的回复
{
"id": 12,
"name": "test",
"last_name": "test",
"phone": "test",
"birth_day": null,
"home_address": "test"
}
就我所见,其余字段创建没有问题,但字段 birth_day 是数据库中的空 DateTime。
顺便说一句,我正在使用 Mysql 5.7.22 和 Java 11
Date
注释的 @JsonFormat
还需要 shape
参数,如 here 所示。所以要使用的片段是
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
@Column(name = "birth_day")
private Date birth_day;
我需要你的帮助,我一直在尝试使用 SpringBoot 和 JPA 将日期字段添加到数据库中,但是当我尝试这样做时将数据插入 null,我的意思是,所有其他字段都可以很好地识别使用Json,但日期字段为空。我发现了其他关于它的问题,但我还没有能够解决它。我还尝试更改日期字段上方的注释,但没有成功。感谢任何帮助,谢谢!
来自我的实体“会员”
@JsonFormat(pattern="yyyy-MM-dd")
@Column(name = "birth_day")
private Date birth_day;
来自我的控制器
@PostMapping()
@ResponseStatus(value = HttpStatus.CREATED)
public ResponseEntity<Member> save(@Validated @RequestBody Member input) {
memberRepository.save(input);
return ResponseEntity.ok().body(input);
}
这是Json我创建并通过body
{
"name": "test",
"last_name": "test",
"phone": "test",
"birth_day": "1991-04-05",
"home_address": "test"
}
这是我得到的回复
{
"id": 12,
"name": "test",
"last_name": "test",
"phone": "test",
"birth_day": null,
"home_address": "test"
}
就我所见,其余字段创建没有问题,但字段 birth_day 是数据库中的空 DateTime。
顺便说一句,我正在使用 Mysql 5.7.22 和 Java 11
Date
注释的 @JsonFormat
还需要 shape
参数,如 here 所示。所以要使用的片段是
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
@Column(name = "birth_day")
private Date birth_day;