0

ORMLite を介して Android アプリケーションで生成されたクラス (Google App Engine を使用して生成された) を使用しようとしています。次のように構成ファイルを作成しました。

# --table-start--
dataClass=com.name.app.entities.customerendpoint.model.Customer
tableName=customer
# --table-fields-start--
# --field-start--
fieldName=key
generatedId=false
# --field-end--
# --field-start--
fieldName=firstName
#columnName=lastClickDate
# --field-end--
# --field-start--
fieldName=lastName
#indexName=clickcount_name_idx
# --field-end--
# --field-start--
fieldName=email
# --field-end--
# --field-start--
fieldName=postcode
# --field-end--
# --field-start--
fieldName=birthDate
dataType=DataType.SERIALIZABLE
#foreign=true
# --field-end--
# --field-start--
fieldName=gender
# --field-end--
# --field-start--
fieldName=facebookId
# --field-end--
# --field-start--
fieldName=googleId
# --field-end--
# --field-start--
fieldName=pictureUrl
# --field-end--
# --field-start--
fieldName=verificationCode
# --field-end--
# --table-fields-end--
# --table-end--
#################################

DBHelper のコンストラクターで、次のファイルを参照しています。
super(context, "APP", null, 1, R.raw.ormlite_config);

残念ながら、テーブルを作成しているときに SQLException が発生します。

java.sql.SQLException: ORMLite can't store unknown class class com.google.api.client.util.DateTime for field 'birthDate'. Serializable fields must specify dataType=DataType.SERIALIZABLE

奇妙なことは、私が確実にbirthDateフィールドをシリアライズ可能に指定したことです:

fieldName=birthDate
dataType=DataType.SERIALIZABLE

誰かが私が間違っていることを知っていますか、それともORMLiteのバグですか?

4

1 に答える 1

1

構成ファイルでdataPersister=SERIALIZABLEはなく、データ型を永続化する必要があります。dataType=DataType.SERIALIZABLE

于 2014-10-14T11:49:06.923 に答える