realm-java: A RealmObject with no @PrimaryKey cannot be updated
A developer of VCNC encountered the following error message. He uses Realm version 0.84.1 and thinks that RAnniversaryView already has a primary key field.
Non-fatal Exception: java.lang.IllegalArgumentException: A RealmObject with no @PrimaryKey cannot be updated: class kr.co.vcnc.android.couple.model.viewmodel.RAnniversaryView
at io.realm.Realm.checkHasPrimaryKey(Realm.java:1144)
at io.realm.Realm.copyToRealmOrUpdate(Realm.java:765)
at io.realm.Realm.copyToRealmOrUpdate(Realm.java:811)
at kr.co.vcnc.android.couple.feature.home.HomeController$2.lambda$call$813(HomeController.java:214)
at kr.co.vcnc.android.couple.feature.home.HomeController$2.lambda$null$812(HomeController.java)
at kr.co.vcnc.android.couple.feature.home.HomeController$2$$Lambda$2.run(Unknown Source)
at kr.co.vcnc.android.couple.realm.RealmRunnable.lambda$transaction$996(RealmRunnable.java:35)
at kr.co.vcnc.android.couple.realm.RealmRunnable.transaction(RealmRunnable.java)
at kr.co.vcnc.android.couple.realm.RealmRunnable$$Lambda$2.run(Unknown Source)
at kr.co.vcnc.android.couple.realm.RealmRunnable.transaction(RealmRunnable.java:45)
at kr.co.vcnc.android.couple.realm.RealmRunnable.transaction(RealmRunnable.java:34)
at kr.co.vcnc.android.couple.feature.home.HomeController$2.call(HomeController.java:205)
at kr.co.vcnc.android.couple.feature.home.HomeController$2.call(HomeController.java:124)
at kr.co.vcnc.android.couple.rx.ObservableZygote$1.call(ObservableZygote.java:49)
at kr.co.vcnc.android.couple.rx.ObservableZygote$1.call(ObservableZygote.java:45)
at rx.Observable$1.call(Observable.java:144)
at rx.Observable$1.call(Observable.java:136)
at rx.Observable$1.call(Observable.java:144)
at rx.Observable$1.call(Observable.java:136)
at rx.Observable$1.call(Observable.java:144)
at rx.Observable$1.call(Observable.java:136)
at rx.Observable.unsafeSubscribe(Observable.java:7466)
at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:47)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
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)
About this issue
- Original URL
- State: closed
- Created 9 years ago
- Comments: 43 (24 by maintainers)
use import
io.realm.annotations.PrimaryKey;
instead of
import
androidx.room.PrimaryKey;
@beeender I am sorry that I could not reproduce the error after my teams update the realm to the latest version.