小编E R*_*ann的帖子

使用Robospice和Scala在ORMLite中保存外来集合

我们在Scala上使用Android上的Robospice和ORMLite模块进行持久化,并且在将外部集合保存到数据库时遇到了困难.正确接收数据(即我们正在使用几个帖子正确地解释和解释用户)但是当需要将数据保存到缓存时,它无法保存外部集合.

我们一直在通过控制台获得此异常,但正如您所看到的,用户确实有一个setter和getter,所以我们不确定问题是什么.

java.lang.IllegalArgumentException: Could not find appropriate set method for private java.util.Collection scaloid.scala_test.models.User.posts
        at com.j256.ormlite.field.DatabaseFieldConfig.findSetMethod(DatabaseFieldConfig.java:576)
        at com.octo.android.robospice.persistence.ormlite.InDatabaseObjectPersister.saveAllForeignObjectsToCache(InDatabaseObjectPersister.java:192)
        at com.octo.android.robospice.persistence.ormlite.InDatabaseObjectPersister$1.call(InDatabaseObjectPersister.java:96)
        at com.octo.android.robospice.persistence.ormlite.InDatabaseObjectPersister$1.call(InDatabaseObjectPersister.java:91)
        at com.j256.ormlite.misc.TransactionManager.callInTransaction(TransactionManager.java:168)
        at com.j256.ormlite.stmt.StatementExecutor.callBatchTasks(StatementExecutor.java:553)
        at com.j256.ormlite.dao.BaseDaoImpl.callBatchTasks(BaseDaoImpl.java:633)
        at com.j256.ormlite.dao.RuntimeExceptionDao.callBatchTasks(RuntimeExceptionDao.java:534)
        at com.octo.android.robospice.persistence.ormlite.InDatabaseObjectPersister.saveDataToCacheAndReturnData(InDatabaseObjectPersister.java:91)
        at com.octo.android.robospice.persistence.CacheManager.saveDataToCacheAndReturnData(CacheManager.java:77)
        at com.octo.android.robospice.request.DefaultRequestRunner.saveDataToCacheAndReturnData(DefaultRequestRunner.java:265)
        at com.octo.android.robospice.request.DefaultRequestRunner.processRequest(DefaultRequestRunner.java:172)
        at com.octo.android.robospice.request.DefaultRequestRunner$1.run(DefaultRequestRunner.java:216)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)
Run Code Online (Sandbox Code Playgroud)

这是用户模型.

@JsonIgnoreProperties(ignoreUnknown = true)
@DatabaseTable(tableName = "u_old")
class User @JsonCreator()() {

  @JsonProperty("name")
  @DatabaseField
  var name: String = ""

  @JsonProperty("email")
  @DatabaseField
  var email: String = ""

  @JsonProperty("id")
  @DatabaseField(id = true)
  var id …
Run Code Online (Sandbox Code Playgroud)

android scala jackson ormlite robospice

6
推荐指数
0
解决办法
461
查看次数

标签 统计

android ×1

jackson ×1

ormlite ×1

robospice ×1

scala ×1