Java 无法将数据保存到Android

Java 无法将数据保存到Android,java,android,realm,Java,Android,Realm,我是领域数据库的新手。我想将数据保存到域中,但无法保存,即使我输入的数据尚不存在 例如: 首先,我输入数据OA作为afdeling,001作为Blok,01作为Group Sample,1作为Pokok ke。保存成功 其次,我将数据OA输入为afdeling,001输入为Blok,01输入为Group Sample,2输入为Pokok ke。保存成功 第三,我输入数据OB作为afdeling,002作为Blok,01作为Group Sample,2作为Pokok ke。未能保存数据。数据已存在

我是领域数据库的新手。我想将数据保存到域中,但无法保存,即使我输入的数据尚不存在

例如:

首先,我输入数据OA作为afdeling,001作为Blok,01作为Group Sample,1作为Pokok ke。保存成功

其次,我将数据OA输入为afdeling,001输入为Blok,01输入为Group Sample,2输入为Pokok ke。保存成功

第三,我输入数据OB作为afdeling,002作为Blok,01作为Group Sample,2作为Pokok ke。未能保存数据。数据已存在。即使我输入的数据还不存在

这是检查数据是否已存在的代码:

public <E extends RealmModel> boolean isParentIdExist(Class<E> eClass, String value) {
    E data = mRealm.where(eClass).equalTo("parent_id", value).findFirst();
    return data != null;
}

public <E extends RealmModel> boolean isPokokExist(Class<E> eClass, String value) {
    E data = mRealm.where(eClass).equalTo("pokok_ke", value).findFirst();
    return data != null;
}

public <E extends RealmModel> boolean isAfdelingExist(Class<E> eClass, String value) {
    E data = mRealm.where(eClass).equalTo("afdeling", value).findFirst();
    return data != null;
}

public <E extends RealmModel> boolean isBlokExist(Class<E> eClass, String value) {
    E data = mRealm.where(eClass).equalTo("blok", value).findFirst();
    return data != null;
}

public <E extends RealmModel> boolean isGroupSampleExist(Class<E> eClass, String value) {
    E data = mRealm.where(eClass).equalTo("group_sample", value).findFirst();
    return data != null;
}
这是ModelAddTransaction:

class ModelAddTransaction extends RealmObject {
    @PrimaryKey
    private String id;
    private String parent_id;
    private String date;
    private String afdeling;
    private String pokok_ke;
}

设置项目并使用此代码插入数据

 public void saveData() {

    realm.executeTransactionAsync(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            Number id = realm.where(AddToCartRealmModel.class).max("productID");
            int key = (id == null) ? 1 : id.intValue() + 1;
            AddToCartRealmModel addToCartModel = realm.createObject(AddToCartRealmModel.class, key);

            try {
                if (packageModel != null) {
                    realm.beginTransaction();
                    addToCartModel.setPackageName(packageModel.getServiceName());
                    addToCartModel.setProductPrice(packageModel.getPrice());
                    realm.insertOrUpdate(addToCartModel);
                    realm.commitTransaction();
                } else {
                    System.out.println("Error");
                }

            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
            finally {
                if(realm!=null){
                    realm.close();
                }
            }

        }
    });

}
 public void saveData() {

    realm.executeTransactionAsync(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            Number id = realm.where(AddToCartRealmModel.class).max("productID");
            int key = (id == null) ? 1 : id.intValue() + 1;
            AddToCartRealmModel addToCartModel = realm.createObject(AddToCartRealmModel.class, key);

            try {
                if (packageModel != null) {
                    realm.beginTransaction();
                    addToCartModel.setPackageName(packageModel.getServiceName());
                    addToCartModel.setProductPrice(packageModel.getPrice());
                    realm.insertOrUpdate(addToCartModel);
                    realm.commitTransaction();
                } else {
                    System.out.println("Error");
                }

            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
            finally {
                if(realm!=null){
                    realm.close();
                }
            }

        }
    });

}