在 ORMLite 的列中创建
Created at column for ORMLite
可以使用 version
注释在 ORMLite 中创建一个 'modified at' 列,如 http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_2.html#index-time-row-last-modified.
中所述
是否可以定义一个 'created at' 列,该列自动填充当前时间戳但此后不修改?
Is it possible to define a 'created at' column, which is automatically populated with the current timestamp but unmodified thereafter?
可以,但这是针对每个数据库的操作,因此解决方案取决于您使用的数据库类型。具体请参阅有关 Sqlite 的答案:How to have an automatic timestamp in SQLite?
尽管我不确定该字段的 type,但以下内容可能有效。它可能必须是 Sql java.sql.Timestamp
或其他东西:
@DatabaseFile(columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL")
private Date createDate;
有关详细信息,请参阅 Sql 网站的 documentation on date-time functions。
这适用于 SQLite:
@DatabaseField(dataType = DataType.DATE_STRING, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL", readOnly = true, canBeNull = false)
private Date created_at;
正如所讨论的 ,只读是必需的,这样 ORMLite 就不会尝试插入带有空时间戳的行。
可以使用 version
注释在 ORMLite 中创建一个 'modified at' 列,如 http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_2.html#index-time-row-last-modified.
是否可以定义一个 'created at' 列,该列自动填充当前时间戳但此后不修改?
Is it possible to define a 'created at' column, which is automatically populated with the current timestamp but unmodified thereafter?
可以,但这是针对每个数据库的操作,因此解决方案取决于您使用的数据库类型。具体请参阅有关 Sqlite 的答案:How to have an automatic timestamp in SQLite?
尽管我不确定该字段的 type,但以下内容可能有效。它可能必须是 Sql java.sql.Timestamp
或其他东西:
@DatabaseFile(columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL")
private Date createDate;
有关详细信息,请参阅 Sql 网站的 documentation on date-time functions。
这适用于 SQLite:
@DatabaseField(dataType = DataType.DATE_STRING, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL", readOnly = true, canBeNull = false)
private Date created_at;
正如所讨论的