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

时间:2010-11-16 19:38:06

标签: hibernate postgresql date

我正在使用hibernate的timestamp方法在表中的行更新时更新last_modified值。像这样:

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

我正在使用postgres db。当Hibernate更新行时,是否使用now()或计划vanilla日期激活SQL?

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

1 个答案:

答案 0 :(得分:2)

使用“timestamp”将使Hibernate使用它对当前时间的想法,而不是数据库的想法(这在Hibernate 3.0中是正确的,我怀疑它已经改变了。)

如果希望列接收数据库时间,可以使用触发器在插入/更新时填充它。如果您希望Hibernate检索回生成的时间,请根据需要使用generated="always"generated="insert"(并将timestamp元素降级为普通property)。请注意,这将在更新/插入后生成其他select语句,以检索生成的状态。