I soved this by turning
@XmlAttribute(name = "commentable", required = true)
private AbstractCommentable commentable;
into an Element annotation. Thanks for the hint in the comments about the ElementWrapper, that guided my attention to the fact, that this was still annotated as attribute.