1
嗨,我使用web服务时遇到问题 我有一个包含许多角色的对象用户。jaxb @ManyToMany @XmlID @XmlIDREF无法将Refed对象转换为xml
当我从我的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;
}
}
我相信你无法和解组XML开始用''根元素开始。你应该从中删除'@ XmlRootElement'。请发布导致问题和完整异常堆栈的XML。 –
2012-01-09 16:55:20