OrmLite很多很多很多

时间:2013-10-10 21:02:35

标签: java android ormlite

鉴于这个例子很多:

    @DatabaseTable
    public class Band {

        @DatabaseField(foreign = true, foreignAutoRefresh = true)
        private Music music;

        @ForeignCollectionField
        private ForeignCollection<Music> musics;
    }

    @DatabaseTable
    public class Music {

        @DatabaseField(foreign = true, foreignAutoRefresh = true)
        private Band band;

        @ForeignCollectionField
        private ForeignCollection<Band> bands;
    }

如果我更新已经存在的音乐并且已经有一个关联的乐队将新乐队添加到音乐内部的ForeignCollection中,我将不得不覆盖该乐队的“乐队”对象参考,以便能够看到音乐在新的Band Inner ForeignCollection之后。

但是,嘿,这意味着之前关联的其他乐队将无法在其ForeignCollection中看到给定的音乐,对吗?

我怎么能解决这个问题?...我怎么能拥有一个由几个乐队拥有的音乐并出现在每个乐队的ForeignCollection中,反之亦然。

(对于长时间的混淆问题,如果需要,我可以尝试提供更好的说明)

修改

顺便说一下,我看过 - &gt;中的例子。 https://github.com/j256/ormlite-jdbc/blob/master/src/test/java/com/j256/ormlite/examples/manytomany/ManyToManyMain.java

但它似乎适用于不同的情况。

1 个答案:

答案 0 :(得分:0)

  

如果我更新已经存在的音乐并且已经有一个相关的乐队将新的乐队添加到音乐内部的ForeignCollection中,我将不得不覆盖&#34;乐队&#34;对该音乐进行对象参考,以便能够在以后的Band Band ForeignCollection中看到该音乐。

有趣的问题。不确定这里做的正确的事情是什么。可能有某种对象管理器,因此您可以将Band添加到Music(反之亦然),它会更新相应的实体以使它们保持同步。

不是最好的解决方案。