JAXB genera métodos de fábrica que crean un JAXBElement de una instancia de objeto sólo si su XSD contiene tanto una definición complexType y una definición elemento separado usando que complexType con el mismo nombre, por ejemplo:
<complexType name="my-type">
...
</complexType>
<element name="my-type" type="tns:my-type"/>
En este caso, JAXB no anotará la clase generada con una anotación @XmlRootElement, pero proporcionará los métodos de fábrica que necesita para crear JAXBElement a partir de la instancia del objeto. De esta forma, puede serializar fácilmente instancias de tipos de elementos no raíz como elementos raíz.
Por lo tanto, solo debe agregar una declaración de "elemento" con el mismo nombre además de cualquier definición de tipo compleja que pretenda usar como un elemento de nivel superior, y ObjectFactory generará los métodos de fábrica esperados.