gpt4 book ai didi

java - Spring Jpa LessThanEqual 用于 postgres 时间戳字段

转载 作者:行者123 更新时间:2023-12-02 09:30:42 25 4
gpt4 key购买 nike

我的实体类中有字段 effective_startdate。

@Basic
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "effective_startdate", columnDefinition = "TIMESTAMP WITHOUT TIME ZONE")
private Date effectiveStartdate;

我想在我的 Jpa 存储库类中使用它来过滤到我的 getmapping 方法以供进一步使用:

List<PoJoObject> findByEffectiveStartdateLessThanEqual(Date date);

对于整个操作,我的后端数据库是 postgres,并且同一字段的类型为 TIMESTAMP。

任何人都可以帮助我从 getmapping 调用中获得预期的格式(“yyyy-MM-dd HH:mm:ss”)响应。

我对此完全陌生,不知道 Spring 在内部如何处理日期、序列化/反序列化以及与 postgres 数据库进行比较。

注意:

  • 在 Java 代码中使用 java.util.Date。
  • postgres effective_startdate 输出如下所示:

2019-09-19 18:28:23.012

  • 同一字段的响应格式如下:

"effectiveStartdate": "2019-07-30T04:37:55.000+0000"

最佳答案

您必须将 JsonFormat 注释添加到 effectiveStartdate:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "effective_startdate", columnDefinition = "TIMESTAMP WITHOUT TIME ZONE")
private Date effectiveStartdate;

顺便说一句。 @Basic 注释不是必需的,列名也是多余的,因为这是 Hibernate 将 _ 转换为驼峰命名法的方式。

关于java - Spring Jpa LessThanEqual 用于 postgres 时间戳字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58013608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com