使Realm工作時遇到困難。使用領域持久對象(錯誤:只能從事務內部完成領域數據更改)
RealmConfiguration realmConfig = new RealmConfiguration.Builder(this).build();
Realm.setDefaultConfiguration(realmConfig);
Realm realm = Realm.getDefaultInstance();
MyObjectExtendingRealmObject myObject = new MyObjectExtendingRealmObject("John");
realm.beginTransaction();
realm.copyToRealm(myObject);
realm.commitTransaction();
錯誤:java.lang.IllegalStateException:更改域的數據只能從一個事務內部完成
叫我瘋了,但不是我做交易,這是究竟是如何內部數據持久它是在文檔中完成的?請參閱copyToRealm
這裏的示例:https://realm.io/docs/java/latest/#creating-objects
我在做什麼錯?
編輯:什麼,Realm不支持自動增量主鍵ID?對我來說很重要。我會留下這個問題,以防其他人幫忙。
編輯:我班
public class MyObjectExtendingRealmObject extends RealmObject {
private String name;
public MyObjectExtendingRealmObject() {
}
public MyObjectExtendingRealmObject(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Autoincrementing id並不是Realm開箱即用的功能,但[它不是您在5分鐘內無法實現的功能](https:// reddit。com/r/androiddev/comments/53z2kk/which_orm_solution_should_i_choose_in_2016/d7yjy6x)或者 – EpicPandaForce
順便說一句,我瘋狂的猜測是你的MyObjectExtendingRealmObject沒有默認的空構造函數,即使它應該 – EpicPandaForce
@EpicPandaForce它有一個默認的空構造函數 –