Q:

OrmLite many to many with a twist

Given this example of many to many:
    @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;
    }

If i update a music that already exists and already has an associated band to add a new band to the music inner ForeignCollection, i will have to overwrite the "Band" object reference on that music in order to be able to see that music in the new Band inner ForeignCollection later.
But hey, that means that the other band that was previously associated now won't be able to see the given music in it's ForeignCollection, right?
How could i solve that?... How could i have a Music that is owned by several bands and appears at each band ForeignCollection, and vice-versa.
(sorry for the confuse long question, i can try to provide better clarification if needed)
EDIT:
By the way, i have looked at the example in -> https://github.com/j256/ormlite-jdbc/blob/master/src/test/java/com/j256/ormlite/examples/manytomany/ManyToManyMain.java 
But it seems to apply to a different situation. 

A:

If i update a music that already exists and already has an associated band to add a new band to the music inner ForeignCollection, i will have to overwrite the "Band" object reference on that music in order to be able to see that music in the new Band inner ForeignCollection later.

Interesting question.  Not sure what the right thing to do here is.  Maybe have some sort of object manager so you can add a Band to a Music (and vice versa) and it would update the appropriate entities to keep them in sync.
Not the best solution however.

