Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在hibernate中,如何利用数据库时间?_Hibernate_Postgresql_Date - Fatal编程技术网

在hibernate中,如何利用数据库时间?

在hibernate中,如何利用数据库时间?,hibernate,postgresql,date,Hibernate,Postgresql,Date,每当更新表中的行时,我都使用hibernate的timestamp方法来更新上次修改的值。像这样: <timestamp name="lastModified" column="last_modified" /> 我正在使用postgres db。当Hibernate更新行时,它是使用now()还是计划日期触发SQL 原因是我希望它使用now(),以便日期与当时一致,数据库将分配值,而不是appserver。使用“时间戳”将使Hibernate使用其当前时间的概念,而不是数据库

每当更新表中的行时,我都使用hibernate的timestamp方法来更新上次修改的值。像这样:

<timestamp name="lastModified" column="last_modified" />

我正在使用postgres db。当Hibernate更新行时,它是使用now()还是计划日期触发SQL

原因是我希望它使用now(),以便日期与当时一致,数据库将分配值,而不是appserver。

使用“时间戳”将使Hibernate使用其当前时间的概念,而不是数据库的概念(这在Hibernate 3.0时是正确的,我怀疑自那以后是否发生了更改)

如果希望列接收数据库时间,可以在插入/更新时使用触发器填充该列。如果希望Hibernate检索生成的时间,请根据需要使用
generated=“always”
generated=“insert”
(并将
timestamp
元素降级为正常的
属性
)。注意:这将在更新/插入后生成额外的select语句,以检索生成的状态