当我使用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
答案 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的文档的链接。