问题描述
我有一个POJO类OfflineDataRequestInfo
,我想将其插入数据库表作为OfflineData
的一部分,而error: Cannot figure out how to save this field into database. You can consider adding a type converter for it. private final com.i6systems.offlineservicelibrary.offlineDatabase.OfflineDataRequestInfo requestInfojsonx = null;
是我的实体。但是我得到一个错误
我该如何解决这个问题
data class OfflineDataRequestInfo (
val status: String,val userId: String,val fuelOrderId: String,val timeStamp: String,val fuelOrder: String
)
@Entity
data class OfflineData (
@PrimaryKey(autoGenerate = true) val uid: Int = 0,@ColumnInfo(name = "request_info_json") val requestInfoJson: String?,@ColumnInfo(name="request_code") val requestCode: String?,@ColumnInfo(name="request_info_jsonx") val requestInfojsonx: OfflineDataRequestInfo
)
这是我的代码
suspend fun insertOfflineData(requestInfoJson: String,requestCode: String,offlineDataRequestInfo: OfflineDataRequestInfo): Long {
var result: Long = 0
result = OfflineDatabaseManager.getInstance(app.applicationContext).insertOfflineData(
OfflineData(
0,requestInfoJson,requestCode,offlineDataRequestInfo
))
return result
}
offlineHelper.insertOfflineData(
inPositionApiData.toString(),"notifyInPosition",OfflineDataRequestInfo(
"in-position",action.userId,id,action.timestamp.toString(),fuelOrderData.toString()
))
这不是我要插入的
$users = DB::table('users')
->whereIn('id',[1,2,3])
->get();
解决方法
我看到您有两种解决方法:
- 为对象
TypeConverter
写一个OfflineDataRequestInfo
- 添加注释
@Embedded
@Embedded
@ColumnInfo(name="request_info_jsonX")
val requestInfoJsonX: OfflineDataRequestInfo