objectbox - 对象框:每个关系只允许一个@Backlink
问题描述
将 Objectbox 从版本 2.2 更新到 2.3.4 后,我在构建应用程序时收到以下消息:
错误:[ObjectBox] 'Athlete.shoesRelation' 每个关系只允许一个 @Backlink。删除除一个 @Backlink 之外的所有内容。
代码运动员类:
@Transient @Expose
private List<Club> clubs;
@Transient @Expose
private List<Gear> bikes;
@Transient @Expose
private List<Gear> shoes;
@Backlink @Expose(deserialize = false, serialize = false)
public ToMany<Club> clubsRelation;
@Backlink @Expose(deserialize = false, serialize = false)
public ToMany<Gear> bikesRelation;
@Backlink @Expose(deserialize = false, serialize = false)
public ToMany<Gear> shoesRelation;
代码齿轮类:
@Transient @Expose
private Athlete athlete;
@Expose(deserialize = false, serialize = false)
private ToOne<Athlete> athleteRelation;
为什么我不能反向链接 shoesRelation / 出了什么问题?
解决方案
您的 Athlete 课程有两个指向ToOne<Athlete> athleteRelation
in 的反向链接Gear
:
@Backlink
public ToMany<Gear> bikesRelation;
@Backlink
public ToMany<Gear> shoesRelation;
这从未被支持,我们在 2.3.0 中添加了一个明确的检查。 https://github.com/objectbox/objectbox-java/issues/467
要么删除一个 ToMany,要么添加另一个 ToOne,然后将 ToMany 反向链接显式命名为 ToOne 关系:
@Backlink(to = "<TODO>")
public ToMany<Gear> bikesRelation;
@Backlink(to = "athleteRelation")
public ToMany<Gear> shoesRelation;
推荐阅读
- java - 如何在 Corda 终端上显示状态
- android - Android 从服务启动 Activity
- python - 关于 CS50 Pset6 DNA,它超过了 large.cvs 的 STR
- python - 打开 binance websocket 并显示不使用特定库的价格变化
- javascript - 有没有办法在地形图上完美对齐geo json文件?React、D3 和三个 js
- ruby-on-rails - 如何在 ruby on rails 的不同位置显示上传的图像?
- java - 应用程序因 'jvm 终止而崩溃。退出代码=1'
- c# - 肥皂服务抛出“响应提前结束,至少
需要额外的字节。”(IOException) - xamarin - 如何在 Xamarin 中创建无限 ListView?
- python - 使用多个字符串动态填充字典