ORMLite的当前时间戳?

时间:2011-08-12 18:49:06

标签: java ormlite

当我使用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 

1 个答案:

答案 0 :(得分:2)

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

@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()方法获取create table语句,然后您必须调整它们以调整ON UPDATE CURRENT_TIMESTAMP等。

您可以使用dao.executeSql("...")方法执行原始SQL。以下是javadocs for this method

以下是您可以在ORMLite中执行raw SQL statements的文档的链接。