1
直接代碼。我們有兩類:Android的境界:在RealmObject中存儲一個非RealmObject一個
class Rocket extends RealmObject
{
@PrimaryKey
private long id;
private String name;
private Payload pl;
}
class Payload
{
private String name;
private double mass;
}
如何在領域中存儲火箭?
- 我可以手動序列化有效載荷到一種字符串中,然後將它與Rocket一起保存。但它很慢。
- 我可以從RealmObject擴展Payload並將其保存到表中。但是,如果我這樣做,我應該刪除有效載荷,每次我刪除父Rocket。它絕對不是一個選項,因爲模型變得非常混亂和複雜。
如果需要我可以實現Serializable或Parcelable接口,但我真的需要將我的對象保存到Realm中。
謝謝。
謝謝您的回覆。我不需要級聯刪除親戚。我只需要在該數據庫對象中存儲一個結構(具有幾個成員變量的類)。如果需要的話,我可以實現Serializable接口。級聯刪除是通過存儲自定義RealmObjects實現類似功能的幾個選項之一。但是,應該有一個簡單的方法來實現這一點。我很失望TBH。但仍然是一個很好的數據庫。 (標示爲接受,因爲我不認爲有一個簡單的方法可以做我想做的事。) – atomontage
啊,我明白了。如果你[看看這個答案我早點離開,並且來自Christian Melchior的評論](http://stackoverflow.com/a/35592653/1217087),你會看到自定義getters/setters(即'setPayload(Payload p) ',私人成員是'String')目前是不支持的,但是在0.88。所以你可以在那裏實現你的序列化/反序列化邏輯,一旦0.88發佈(現在有一個測試快照,我相信)。 –
定製setter/getters支持的beta快照目前無法使用(2016年2月5日上午1:15 UTC)。但它很快就會來臨。查看https://github.com/realm/realm-java/pull/2196 – beeender