在hibernate中,如何利用数据库时间?
每当更新表中的行时,我都使用hibernate的timestamp方法来更新上次修改的值。像这样:在hibernate中,如何利用数据库时间?,hibernate,postgresql,date,Hibernate,Postgresql,Date,每当更新表中的行时,我都使用hibernate的timestamp方法来更新上次修改的值。像这样: <timestamp name="lastModified" column="last_modified" /> 我正在使用postgres db。当Hibernate更新行时,它是使用now()还是计划日期触发SQL 原因是我希望它使用now(),以便日期与当时一致,数据库将分配值,而不是appserver。使用“时间戳”将使Hibernate使用其当前时间的概念,而不是数据库
<timestamp name="lastModified" column="last_modified" />
我正在使用postgres db。当Hibernate更新行时,它是使用now()还是计划日期触发SQL
原因是我希望它使用now(),以便日期与当时一致,数据库将分配值,而不是appserver。使用“时间戳”将使Hibernate使用其当前时间的概念,而不是数据库的概念(这在Hibernate 3.0时是正确的,我怀疑自那以后是否发生了更改)
如果希望列接收数据库时间,可以在插入/更新时使用触发器填充该列。如果希望Hibernate检索生成的时间,请根据需要使用generated=“always”
或generated=“insert”
(并将timestamp
元素降级为正常的属性
)。注意:这将在更新/插入后生成额外的select语句,以检索生成的状态