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