now()函数的日期时间值错误



我有个问题。我正在用springu和jpa/hibernate编写一个程序。我使用的数据库是PostgreSQL。我有一个简单的表,有两列:第一列为";带有时区的时间戳";第二种类型为";没有时区的时间戳";。在我的模型中,这些列有";LocalDateTime";类型我使用JpaRepository中的nativeQuery,如下所示:

@Modifying
@Query(value = "INSERT INTO public.tempor(id, date1, date2) VALUES (2, now(), now());", nativeQuery = true)
void saveTransaction();

将其插入数据库后,第一列具有来自datebase datetime的正确值,但第二列设置为我的localhost datetime。为什么以及如何解决这个问题?谢谢你的帮助。

您可以使用CURRENT_TIMESTAMP,例如:

INSERT into tempor (id,date1) 
VALUES (1, current_timestamp);

第二个选项,您可以将列的默认值设置为now((:

alter table tempor alter date1 set default now();

最新更新