Сохранение иностранной коллекции в ORMLite с помощью Robospice и Scala

Мы используем Robospice на Android в Scala с модулем ORMLite для сохранения и испытываем трудности с сохранением иностранных коллекций в базе данных. Данные поступают должным образом (т.е. мы получаем и интерпретируем пользователя с паролями должным образом), но когда придет время сохранить данные для кэширования, не удается сохранить чужую коллекцию.

Мы получили это исключение через консоль, но, как вы видите, у пользователя есть сеттер и 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) 

Вот модель пользователя.

 @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 : Int = 0 @JsonProperty("posts") @ForeignCollectionField private var posts: util.Collection[Post] = null def getPosts: util.Collection[Post] = this.posts def setPosts(posts : util.Collection[Post]) : Unit = { this.posts = posts } } 

И модель Post.

 @JsonIgnoreProperties(ignoreUnknown = true) @DatabaseTable(tableName = "p_old") class Post @JsonCreator()() { @JsonProperty("title") @DatabaseField var title : String = "" @JsonProperty("body") @DatabaseField var body : String = "" @JsonProperty("id") @DatabaseField(id = true) var id : Int = 0 @JsonProperty("user") @DatabaseField(foreign = true, foreignAutoCreate = true, foreignAutoRefresh = true) private var user : User = null def getUser : User = this.user def setUser(user : User) { this.user = user } } 

Есть ли что-то, что мы делаем здесь неправильно? Или это просто ошибка с Scala и ORMLite? Любая помощь с этим была бы весьма признательна.

Solutions Collecting From Web of "Сохранение иностранной коллекции в ORMLite с помощью Robospice и Scala"