首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于postgres时间戳字段的Spring

用于postgres时间戳字段的Spring
EN

Stack Overflow用户
提问于 2019-09-19 14:43:32
回答 1查看 2.5K关注 0票数 0

我的实体类中有字段effective_startdate。

代码语言:javascript
复制
@Basic
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "effective_startdate", columnDefinition = "TIMESTAMP WITHOUT TIME ZONE")
private Date effectiveStartdate;

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

代码语言:javascript
复制
List<PoJoObject> findByEffectiveStartdateLessThanEqual(Date date);

对于整个操作,我的后端db是postgres,该字段的类型与时间戳相同。

谁能帮我从get调用中得到预期的格式(yyyy:mm:ss)。

我对此非常陌生,不知道Spring是如何在内部处理日期、序列化/反序列化以及与postgres db进行比较的。

注意:

在java代码中使用

  • 使用java.util.Date。
  • postgres effective_startdate输出如下:

2019-09-19 18:28:23.012

相同字段的

  • 响应格式如下:

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

“effectiveStartdate”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-19 15:44:24

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

代码语言:javascript
复制
@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就是这样将_转换为camelCase的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58013608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档