[英]jaxb @ManyToMany @XmlID @XmlIDREF can't get the Refed objects into a the xml
嗨,我在使用Web服务时遇到问题,我有一个对象User包含许多角色。
当我从Web服务中获得一个包含角色的User(Id:3)且该角色包含许多用户(ID:3和ID 2)时。 我有一个错误
原因:javax.xml.bind.UnmarshalException:未定义的ID“ 2”。
我认为这是由于xml中没有ID为2的用户造成的。
我的问题是如何使该用户填充到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
来映射引用的对象。
欲获得更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.