gpt4 book ai didi

java - jaxb @ManyToMany @XmlID @XmlIDREF 无法将引用的对象放入 xml 中

转载 作者:行者123 更新时间:2023-12-01 05:32:18 31 4
gpt4 key购买 nike

您好,我在使用网络服务时遇到问题我有一个包含许多角色的用户对象。

当我从包含一个角色的网络服务中获取一个用户(Id:3)时,该角色包含许多用户(id:3和id 2)。我收到一个错误

由以下原因引起:javax.xml.bind.UnmarshalException:未定义 ID“2”。

我认为这是由于 id 2 的用户不在 xml 中造成的。

我的问题是如何将此用户填充到 xml 中?

@XmlRootElement()
public class User implements UserInterface {

@Override
@GeneratedValue
@Id
@XmlID
@XmlJavaTypeAdapter(IntegerAdapter.class)
public Integer getId() {
return id;
}

@Override
@ManyToMany(targetEntity=Role.class,fetch=FetchType.EAGER)
@XmlElement(type=Role.class)
public Set<RoleInterface> getRoles() {
return roles;
}


}

@XmlRootElement()
public class Role implements RoleInterface {
@ManyToMany(targetEntity=User.class,fetch=FetchType.EAGER)
@XmlIDREF
@XmlList
public Set<UserInterface> getUsers() {
return users;
}
}

最佳答案

为了使用@XmlIDREF,引用的对象还必须通过某种包含关系(例如@XmlElement)进行映射。

了解更多信息

关于java - jaxb @ManyToMany @XmlID @XmlIDREF 无法将引用的对象放入 xml 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785663/

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