Есть несколько возможных подходов:
1. Использовать XmlAdapter
Вы можете использовать XAAdapter JAXB. Здесь вы должны создать версию классов с дополнительным полем (адаптированные классы могут расширять оригинал). Затем конвертируйте между ними в адаптер. Поскольку альтернативная версия класса будет содержать дополнительное поле, оно будет выделено.
2. Использовать Binder
Если целью маршала является DOM, то вы можете использовать JAXB's Binder. Он предназначен для сохранения информационного набора, но после маршала он поддерживает связь между объектами и узлами DOM. После завершения маршала вы можете использовать связыватель, чтобы найти связанный с объектом узел и обновить его.
3. Оберните выходную цель
Если вашей выходной целью является что-то вроде ContentHandler или XMLStreamWriter, то при достижении соответствующего состояния вы можете вызвать дополнительные события, которые будут вызываться для вложенной цели маршала.