如何使用ActiveAndroid保存所有嵌套类?

时间:2015-03-05 07:50:39

标签: android activeandroid

我在我的项目中使用AciveAndroid库。我有一个问题:

我有一些课程

@Table(name = "Users")
public class User extends Model {

    @Expose
    @Column(name = "uuid")
    @SerializedName("uuid")
    private String uuid;

    @Expose
    @Column(name = "userInfo")
    @SerializedName("userInfo")
    private UserInfo userInfo;
...
    }

@Table(name = "UserInfos")
public class UserInfo extends Model {

    @Expose
    @Column(name = "user")
    @SerializedName("user")
    private User user;

    @Expose
    @Column(name = "email")
    @SerializedName("email")
    private String email;

    @Expose
    @Column(name = "firstName")
    @SerializedName("firstName")
    private String firstName;
...
}

和其他课程。

如果我想保存对象,请执行以下操作:

user.save();

并收到错误。 我这样做了:

userInfo.save();
user.save();

一切都很好。 但是我有很多班级都有其他班级。我不能导致永久方法save();每个班级的领域。 我希望你在调用user.save();时保存所有嵌套类。怎么做?

1 个答案:

答案 0 :(得分:2)

@Table(name = "Users")
public class User extends Model {

    @Expose
    @Column(name = "uuid")
    @SerializedName("uuid")
    private String uuid;

    @Expose
    @Column(name = "userInfo", onUpdate = ForeignKeyAction.CASCADE, onDelete = ForeignKeyAction.CASCADE)
    @SerializedName("userInfo")
    private UserInfo userInfo;
    ...
}