我使用网络服务时遇到问题 我有一个包含许多角色的对象用户。
当我从包含角色的web服务中获得一个用户(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;
}
}
答案 0 :(得分:0)
为了使用@XmlIDREF
,还必须通过某种包含关系映射引用的对象,例如@XmlElement
。
了解更多信息