1

当我使用 ORMLite 在我的表中插入一个日期时,我通常会这样做:

@DatabaseField(dataType=DataType.DATE_STRING, format="yyyy-MM-dd HH:mm:ss")
private Date MatchDate;

如果我想要类似的东西怎么办

ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

?

4

1 回答 1

2

您可以使用 field 指定自定义 SQL 来创建@DatabaseField columnDefinition字段

@DatabaseField(dataType = DataType.DATE_STRING, format = "yyyy-MM-dd HH:mm:ss",
      columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private Date MatchDate;

如果您需要更多控制权,另一种选择是自己制作架构。您可以从TableUtils.getCreateTableStatements()方法中获取创建表语句,然后您必须调整它们以适应ON UPDATE CURRENT_TIMESTAMP等。

dao.executeSql("...")您可以使用该方法执行原始 SQL 。这是此方法的 javadocs

这是您可以在 ORMLite 中执行的原始 SQL 语句的文档的链接。

于 2011-08-16T19:06:23.153 回答