使用 Jackson 和 Retrofit,我想friendToMany
在反序列化期间设置朋友列表。正如我已经完成的文档一样,我们必须在assignable=true
设置时手动将该实体分配给 boxstore。所以,我正在这样做(如代码所示)。此方法仅适用于此代码所属的第一项。它不适用于元素 2 或更远。
@Id(assignable = true)
@JsonProperty("_id")
public long id;
@Transient
private List<Friend> friends = null;
@JsonIgnore
@Backlink(to = "demoResponseToOne")
ToMany<Friend> friendToMany;
@JsonProperty("friends")
public void setFriends(
List<Friend> friends)
{
this.friends = friends;
for (Friend friend : friends)
{
MyApplication.getBoxStore().boxFor(Friend.class).attach(friend);
friendToMany.add(friend);
}
}
抛出的异常是:io.objectbox.exception.DbDetachedException: Cannot resolve relation for detached entities, call box.attach(entity) beforehand.
在add(friend)
. 我的意思是当这个 Root 元素是列表的第一项时,这有效。