我有一个使用ORMLite的Android项目。所有工作正常,但对于数据库中的某些字段,它使用java.sql.Timestamp
作为字段类型。它在我之前使用的ORMLite 4.10上运行良好。但现在我需要更新ORMLite,并有一个问题.. 当我更新ORMLite到较新的版本并运行它,应用程序抛出异常:Android + ORMLite + java.sql.Timestamp
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场任何数据类型参数之前。但是当我添加它时,错误并不是固定的,app也会抛出这个异常:(项目已经在Market上,所以我不能将dataType更改为其他类型(如Date),并且可以删除该字段。
我应该用什么来戳在较新的ORMLite或者是ORMLite错误
更新:?? 通过改变时间戳类型为序列型固定它现在的代码如下所示:
@DatabaseField(dataType = DataType.SERIALIZABLE)
public Serializable createDate;
public Timestamp getCreateDate()
{
return (Timestamp)createDate;
}
对于后代,你不应该这样做'可序列化'破解。你应该可以有任何实现'Serializable'的类型。 – Gray 2012-04-23 15:03:55