PostgreSQL和java的LocalDateTime不兼容的问题 更新中 

Java 的 LocalDateTime 和 PostgreSQL 的时间类型,“说的不是同一种时间”。 先搞清楚 PostgreSQL 的两种时间类型 TIMESTAMP → 不带时区,就是个裸时间 "2026-06-25 10:00:00" TIMESTAMPTZ → 带时区,内部存 UTC,查询时按会话时区转换 Java 这边 LocalDateTime → 没有时区概念,就是个裸时间 ZonedDateTime → 带时区 OffsetDateTime → 带偏移量(如 +08:00) Instant → UTC 时间戳 为什么会报错 PostgreSQL JDBC 驱动(特别是新版本 42.x+)对类型匹配非常严格: flowchart TD A[Java LocalDateTime] --> B[JDBC驱动] B --> C{PostgreSQL列类型} C -->|TIMESTAMP| D[✅ 可以匹配] C -->|TIMESTAMPTZ| E[❌ 类型不匹配报错] 你的列如果是 TIMESTAMPTZ(带时区),但 Java 传的是 LocalDateTime(无时区),驱动不知道该用哪个时区换算,就直接拒绝了。 常见的三种报错 Cannot convert LocalDateTime to TIMESTAMPTZ Bad value for type timestamp/date column is of type timestamp with time zone but expression is of type timestamp 解决方案 方案一:改 Java 类型(推荐) ...

2025-10-25 12:55:49 PM · 1 分钟

Swagger2和Swagger3注解对比表 更新中 

在 Spring Boot 生态中,Swagger 2.0(通常使用 Foxfire 依赖)和 Swagger 3.0(通常使用 Springdoc-openapi 依赖,基于 OpenAPI 3 规范)的注解发生了很大变化。 以下是 Swagger 2.0 与 Swagger 3.0(OpenAPI 3)的常用注释完整对应表: 1. 核心注解对应表 功能描述 Swagger 2.0 注解 (io.swagger.annotations) Swagger 3.0 注解 (io.swagger.v3.oas.annotations) 备注说明 标记控制器类 @Api(tags = "用户接口") @Tag(name = "用户接口") 3.0 中移除了 description 属性,统一使用 name 标记接口方法 @ApiOperation(value = "获取用户") @Operation(summary = "获取用户") 3.0 中 value 变更为 summary 入参实体类 @ApiModel(value = "用户对象") @Schema(description = "用户对象") 3.0 极大简化,统一使用 @Schema 实体类属性 @ApiModelProperty(value = "姓名") @Schema(description = "姓名") 同上,合并为了 @Schema 忽略某个属性 @ApiModelProperty(hidden = true) @Schema(hidden = true) 忽略整个类/方法 @ApiIgnore @Hidden 用于不想暴露在文档中的接口或参数 2. 请求参数注解对应表 对于方法入参(如 URL 路径参数、Query 参数等),3.0 引入了更具结构化的配置: ...

2025-09-25 09:06:35 AM · 1 分钟

SCA 2023.X — Nacos Bootstrap 配置失效问题排查与解决方案

Issue 来源:spring-cloud-alibaba#3931 影响版本:spring-cloud-alibaba 2023.0.1.3+ 一、问题描述 在 Spring Cloud Alibaba 2023.X 版本中,将 Nacos 配置(包括 extension-configs、shared-configs 等)放在 bootstrap.yml / bootstrap.properties 中,配置中心的内容无法正常加载,但日志显示 bootstrap 文件本身已被读取。 将相同配置移到 application.yml 后,一切恢复正常。 二、根本原因 flowchart TD A[bootstrap.yml 被读取] --> B{SCA 版本判断} B -- 2023.0.1.2 及以前 --> C[✅ 正常加载 Nacos 配置中心] B -- 2023.0.1.3 及以后 --> D[❌ extension-configs / shared-configs 失效] D --> E[问题根源:SCA 2023.0.1.3 修改了配置加载优先级机制] E --> F[bootstrap 阶段注册的 Nacos PropertySource 被后续流程覆盖或丢弃] 简单来说: SCA 2023.0.1.3 做了一次不向后兼容的内部变更,导致 bootstrap.yml 中的 Nacos 扩展配置在加载链路中被"丢掉",而 application.yml 中的配置走的是新路径,不受影响。 ...

2025-07-24 10:40:26 PM · 2 分钟