gpt4 book ai didi

java - OrmLite 多对多的扭曲

转载 作者:行者123 更新时间:2023-11-29 08:57:44 25 4
gpt4 key购买 nike

给出这个多对多的例子:

    @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”对象引用以便能够看到稍后在新乐队内部 ForeignCollection 中播放音乐。

但是,嘿,这意味着以前关联的另一个乐队现在将无法在其 ForeignCollection 中看到给定的音乐,对吧?

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

(很抱歉这个冗长的问题,如果需要我可以尝试提供更好的说明)

编辑:

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

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

最佳答案

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.

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

但这不是最好的解决方案。

关于java - OrmLite 多对多的扭曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com