我将请求正文中的日期发送到 REST API post 请求,但是在检查 table 中插入的记录时,正在插入时间戳
I am sending Date in the request Body to a REST API post request, but on checking the record inserted in the table, Timestamp is getting inserted
我正在尝试通过 POST 方法 POST 传递请求正文来将某些字段插入 table
{
"sbcVin": "888888",
"truckIdNum": "222222",
"toWhen": "02-08-2021",
"fromWhen": "20-08-2021"
}
也插入了数据,但在检查 toWhen 和 FromWhen 列的记录时,我可以看到也插入了一些随机时间。哪个不应该在那里。
在我的 pojo 中,我已将上面两列声明为 Date(SQL) 数据类型。
下面是pojo。
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "abc")
@SequenceGenerator(name = "abc", sequenceName = "type9", allocationSize = 1)
private int fkeyId;
@Column(name = "SBC_VIN")
private String sbcVin;
@Column(name = "TRUCK_ID_NUM")
private String truckIdNum;
@Column(name = "TO_WHEN")
private Date toWhen;
@Column(name = "FROM_WHEN")
private Date fromWhen;
--- getters and setters
public Date getToWhen() {
return toWhen;
}
public void setToWhen(Date toWhen) {
this.toWhen = toWhen;
}
public Date getFromWhen() {
return fromWhen;
}
public void setFromWhen(Date fromWhen) {
this.fromWhen=fromWhen;
}
--Controller
@PostMapping("/create")
public Type create(@RequestBody Type body) {
String vehicle = body.getVehicle();
String unit = body.getUnit();
vehicleList = getVehicleList();
unitList = getGpsUnit();
if (vehicleList.contains(vehicle) && unitList.contains(unit)) {
return repo.save(body);
--------
数据保存在数据库中
02-AUG-2021 05:30:00 20-AUG-2014 05:30:00 --((( i am not supplying this 5:30 anywhere))
预期要保存的数据
02-AUG-2021 20-AUG-2014 ( with out any time stamp)
问题->
1)为什么以及从哪里生成时间戳,因为我没有在正文中提供它,也没有在 POJO 中设置它。
2) 我曾经想过使用 java.sql 中的 Date 我们只得到 Date ,对于时间戳我们必须使用 java.sql.TimeStamp 或 Time.( 我的理解是否正确,如果是,为什么 Class 给我们时间戳的日期。)
提前感谢您的帮助。 :)
我猜,存储在您数据库中的日期是 02-AUG-2021 00:00:00
(UTC)和 20-AUG-2014 00:00:00
(UTC)。由于您的时区是 +0530,印度时区的时间显示为 02-AUG-2021 05:30:00
和 20-AUG-2014 05:30:00
。
看,如果您的数据库有任何数据类型只能存储 Date
,例如 mysql 的 Date
,或者您可以存储纯字符串。
我正在尝试通过 POST 方法 POST 传递请求正文来将某些字段插入 table
{
"sbcVin": "888888",
"truckIdNum": "222222",
"toWhen": "02-08-2021",
"fromWhen": "20-08-2021"
}
也插入了数据,但在检查 toWhen 和 FromWhen 列的记录时,我可以看到也插入了一些随机时间。哪个不应该在那里。 在我的 pojo 中,我已将上面两列声明为 Date(SQL) 数据类型。 下面是pojo。
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "abc")
@SequenceGenerator(name = "abc", sequenceName = "type9", allocationSize = 1)
private int fkeyId;
@Column(name = "SBC_VIN")
private String sbcVin;
@Column(name = "TRUCK_ID_NUM")
private String truckIdNum;
@Column(name = "TO_WHEN")
private Date toWhen;
@Column(name = "FROM_WHEN")
private Date fromWhen;
--- getters and setters
public Date getToWhen() {
return toWhen;
}
public void setToWhen(Date toWhen) {
this.toWhen = toWhen;
}
public Date getFromWhen() {
return fromWhen;
}
public void setFromWhen(Date fromWhen) {
this.fromWhen=fromWhen;
}
--Controller
@PostMapping("/create")
public Type create(@RequestBody Type body) {
String vehicle = body.getVehicle();
String unit = body.getUnit();
vehicleList = getVehicleList();
unitList = getGpsUnit();
if (vehicleList.contains(vehicle) && unitList.contains(unit)) {
return repo.save(body);
--------
数据保存在数据库中
02-AUG-2021 05:30:00 20-AUG-2014 05:30:00 --((( i am not supplying this 5:30 anywhere))
预期要保存的数据
02-AUG-2021 20-AUG-2014 ( with out any time stamp)
问题-> 1)为什么以及从哪里生成时间戳,因为我没有在正文中提供它,也没有在 POJO 中设置它。 2) 我曾经想过使用 java.sql 中的 Date 我们只得到 Date ,对于时间戳我们必须使用 java.sql.TimeStamp 或 Time.( 我的理解是否正确,如果是,为什么 Class 给我们时间戳的日期。)
提前感谢您的帮助。 :)
我猜,存储在您数据库中的日期是 02-AUG-2021 00:00:00
(UTC)和 20-AUG-2014 00:00:00
(UTC)。由于您的时区是 +0530,印度时区的时间显示为 02-AUG-2021 05:30:00
和 20-AUG-2014 05:30:00
。
看,如果您的数据库有任何数据类型只能存储 Date
,例如 mysql 的 Date
,或者您可以存储纯字符串。