我有一个使用 ORMLite 的 Android 项目。一切正常,但对于数据库中的某些字段,它java.sql.Timestamp
用作字段类型。它在我之前使用的 ORMLite 4.10 上运行良好。但是现在我需要更新 ORMLite,并且遇到了问题。当我将 ORMLite 更新到更新版本并运行它时,应用程序抛出异常:
W/System.err( 615): java.sql.SQLException: ORMLite can't store unknown class
class java.sql.Timestamp for field 'createDate'.
Serializable fields must specify dataType=DataType.SERIALIZABLE
之前的 createDate 字段没有 dataType 参数。但是当我添加它时,错误并没有修复,应用程序也抛出了这个异常:(。项目已经在市场上,所以我不能将 dataType 更改为其他类型(如 Date),也可以删除这个字段。
我应该在较新的 ORMLite 上使用什么作为时间戳?还是 ORMLite 错误?
更新: 通过将时间戳类型更改为可序列化类型来修复它。现在代码如下所示:
@DatabaseField(dataType = DataType.SERIALIZABLE)
public Serializable createDate;
public Timestamp getCreateDate()
{
return (Timestamp)createDate;
}