OK, I was wrong.
Format is correct XML and it is a Time Zone.
Such Output produces from default
javax.xml.bind.DatatypeConverter.printDate(Calendar val)
method.
(It means your XSD has xs:date
type for that element).
So, as long as you do not want to have Time Zone info within Date as String, I guess you have next options:
Create your own converter and define it in binding file (as at link I gave in comments) - be careful to make that converter global. If you do not need to apply it to all xsd:date
fields binding will be quite more complex.
If it is about one field, better look at links in the answer there:
JAXB unmarshaller with custom interceptor?
It is valid to Marshaller as well.
Jaxb Marshaller has no handlers or callback interceptors. All controls by Annotations in the Java classes or by binding file.
If it is about only one field (simple "brutal" way) - Before storing that XML as String to database remove Time Zone from needed field in your code.
If you do not marshal Pojo to String in your code, but some framework does it for you on the way to Database, check that framework for interceptors where you can manipulate payload. Usually they are there.
Preferred correct options: 1 (if it is for all xsd:date fields) or 2 if it is about one field only.