2015-03-05 5 views
1

Я использую библиотеку AciveAndroid в своем проекте. И у меня есть quation:Как сохранить все вложенные классы с помощью ActiveAndroid?

У меня есть несколько классов

@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();, сохраните все вложенные классы. как это сделать?

ответ

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; 
    ... 
} 
+0

не работает, все же мне нужно сохранить каждый вложенный класс в обратном порядке. –