You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JPA实体类中java.time.LocalDateTime字段查询返回null问题

JPA实体类LocalDateTime字段返回null的排查原因
  • 数据库实际数据为null:实体类的nullable=false仅用于JPA生成表结构时的约束,如果是已有表或手动插入了null数据,数据库中dob字段实际值可能为null,查询自然返回null,直接查看数据库对应记录即可确认。
  • JPA/驱动版本不兼容java.time类型:旧版本的Spring Data JPA(2.x以下)或JDBC驱动(如MySQL驱动8.0以下)对Java 8的LocalDateTime支持不完善,会导致字段映射失败。需确认使用的框架和驱动版本是否适配java.time系列类型。
  • 字段映射名称不匹配:检查数据库表中字段名是否确实为dob,部分数据库区分大小写,若实体类@Column(name="dob")与数据库实际字段名(如大写DOB)不一致,会导致映射失效。
  • JSON序列化问题:Controller返回JSON响应时,若Jackson等序列化框架未正确处理LocalDateTime,会输出null。需确保引入jackson-datatype-jsr310依赖,并可通过@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")指定序列化格式。
  • 查询投影遗漏字段:如果findByCity方法使用了自定义投影,且投影类未包含dob字段,查询结果会忽略该字段,导致返回的实体中dob为null,检查Repository方法是否使用了投影或构造函数查询。

内容的提问来源于stack exchange,提问作者J. Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 11:47:05