【发布时间】:2019-02-03 07:57:49
【问题描述】:
我目前正在开发我的第一个 java 项目,并开始使用 spring/hibernate。
我创建了一个 API,用于在数据库上执行 CRUD 操作。我认为写下将项目添加到数据库的当前时间是个好主意。
为此,我在数据库中创建了一个新列并更新了我用来写入它的实体,使用一个名为“timestamp”的新 java 字段并将其映射到数据库列。
然后我使用(或尝试)下面的代码让系统在项目写入数据库时设置时间戳,因为我正在做类似的事情以确保 id 在自动递增之前设置为 0。
for (Downloads tempDownload : theDownloads) {
// display the download
tempDownload.setId(0);
tempDownload.setTimestamp(System.currentTimeMillis());
System.out.println(tempDownload);
// save to the database
downloadsService.saveProduct(tempDownload);
}
但是,当项目被写入数据库时,时间戳被写为 0。如果我删除了
tempDownload.setTimestamp(System.currentTimeMillis());
然后我可以通过 json 手动将其与有效负载一起传递来设置时间。有没有其他方法可以解决这个问题,或者我可能会错过一个步骤?
亲切的问候,
丹尼
【问题讨论】:
-
新字段的数据库字段类型是什么?你用的是什么数据库?