执行存储过程的响应是返回不同的返回类型
在 jdk 8 和 spring boot 1.5.3-RELEASE 中,它的形式为 ScheduledStartDate=1704479400000
在 jdk 21 和 spring boot 2.7.16 中,它返回为 ScheduledStartDate=2024-01-06 17:00:00.0
从java执行以下过程后
Map<String, Object> result = simpleJdbcCall.execute(sqlParameter);
存储过程如下
BEGIN
SELECT *
FROM WorkOrder
WHERE (RowNo BETWEEN @PageSize * (@PageNumber - 1) + 1 AND @PageNumber * @PageSize)
OR (RowNo = 0 AND FromDate >= @FromDate AND FromDate < @Todate)
ORDER BY DeliveryDate, status, WorkOrderID, FromDate
END
我将 MS SQL 服务器驱动程序从 12.4 降级到 6.4,但此问题仍未解决 有人遇到过类似的问题或者为什么返回类型不同?
最终发现问题是由于jackson序列化器造成的。在应用程序属性中添加以下行对我有帮助
spring.jackson.serialization.write-dates-as-timestamps=true