【发布时间】:2014-04-01 20:29:29
【问题描述】:
我正在使用 Hibernate 进行 ORM 映射。其中一个表具有“日期时间”类型的列。有问题的列需要使用“当前时间”(数据插入时间)进行更新。我知道我可以使用 date() 函数作为默认值。当我设置对象的其他属性时,我宁愿设置时间戳。
问题 1) Java中SQL date()函数的等价物是什么?
【问题讨论】:
标签: mysql hibernate datetime orm
我正在使用 Hibernate 进行 ORM 映射。其中一个表具有“日期时间”类型的列。有问题的列需要使用“当前时间”(数据插入时间)进行更新。我知道我可以使用 date() 函数作为默认值。当我设置对象的其他属性时,我宁愿设置时间戳。
问题 1) Java中SQL date()函数的等价物是什么?
【问题讨论】:
标签: mysql hibernate datetime orm
java中SQLdate()的等价物就是new Date(),例如:
myEntity.setDateField(new Date());
将dateField 设置为当前日期和时间。
【讨论】:
使用 mysql,您可以设置更新更改: http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
属性将使用数据库的当前时间戳进行更新。
(你很幸运,因为它不适用于 oracle ...(而我使用 oracle ...))
【讨论】:
我正在尝试我的代码:
myEntity.setdDateCreated(new Date());
在休眠映射中->
property name="dateCreated" column="date_created" type="timestamp"
但在 mysql 中它保存为 '0000-00-00 00:00:00'
你猜为什么会这样?
【讨论】: