You probably need to use annotation @XmlSeeAlsoin your upper class:
@XmlSeeAlso(B.class)
@XmlRootElement(name = "a")
@XmlAccessorType(XmlAccessType.FIELD)
public abstract class A{
"", , JAXB-. , , , JAXB. B (, ,
JAXB), JAXB , B. @XmlSeeAlso , , JAXB .
UPDATE:
JAXBContext JAXBContext.newInstance(Class...), :
JAXBContext.newInstance(A.class, B.class);
JAXBContext.newInstance(A.class);
, , .
, , JAXB . .