gpt4 book ai didi

java - 无法使用 Hibernate 将 Date 对象插入 PostgreSQL Timestamp 列

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

我正在尝试使用primefaces调度组件,我发现在数据库(postgresql)中插入date()时出现问题,java的日期类型和时间戳之间存在不兼容的问题我似乎无法解决 postgres:

org.hibernate.exception.DataException nested exception is: 
ERROR: invalid input syntax for type timestamp :
"16:00:00.747000 +00:00:00"

这是我测试数据库插入的函数:

@Test
public void testEdit() {
Event event = new Event();
Calendar t = (Calendar) today().clone();
t.set(Calendar.AM_PM, Calendar.PM);
t.set(Calendar.DATE, t.get(Calendar.DATE) + 4);
t.set(Calendar.HOUR, 4);
event.setStartDate(t.getTime());
sessionService.save(event);
}

最佳答案

看起来您的 Hibernate 映射不正确。您需要将该列映射为时间“时间戳”字段,但看起来您的计算机只发送时间。时间戳具有日期部分,但“16:00:00.747000 +00:00:00”中没有日期。

您尚未显示实体的映射,因此很难更具体。如果您使用 JPA2 映射注释,您可以编写:

@Temporal(TIMESTAMP)

关于java - 无法使用 Hibernate 将 Date 对象插入 PostgreSQL Timestamp 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520380/

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