hibernate/hibernate-orm · error · ConfigurationException
Unable to perform unmarshalling at line number %s and column
Error message
Unable to perform unmarshalling at line number %s and column %s in %s %s. Message: %s
What it means
Error "Unable to perform unmarshalling at line number %s and column %s in %s %s. Message: %s" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/boot/cfgxml/internal/JaxbCfgProcessor.java:111
private JaxbCfgHibernateConfiguration unmarshal(XMLEventReader staxEventReader, final Origin origin) {
final XMLEvent event = xmlEvent( staxEventReader );
if ( !isNamespaced( event.asStartElement() ) ) {
// if the elements are not namespaced, wrap the reader in a reader which will namespace them as pulled.
BOOT_LOGGER.cfgXmlDocumentDidNotDefineNamespaces();
staxEventReader = new NamespaceAddingEventReader( staxEventReader, HIBERNATE_CONFIGURATION_URI );
}
final var handler = new ContextProvidingValidationEventHandler();
try {
final var unmarshaller =
JAXBContext.newInstance( JaxbCfgHibernateConfiguration.class )
.createUnmarshaller();
unmarshaller.setSchema( schema() );
unmarshaller.setEventHandler( handler );
return (JaxbCfgHibernateConfiguration) unmarshaller.unmarshal( staxEventReader );
}
catch ( JAXBException e ) {
throw new ConfigurationException(
"Unable to perform unmarshalling at line number " + handler.getLineNumber()
+ " and column " + handler.getColumnNumber()
+ " in " + origin.getType().name() + " " + origin.getName()
+ ". Message: " + handler.getMessage(), e
);
}
}
private static XMLEvent xmlEvent(XMLEventReader staxEventReader) {
try {
XMLEvent event = staxEventReader.peek();
while ( event != null && !event.isStartElement() ) {
staxEventReader.nextEvent();
event = staxEventReader.peek();
}
if ( event == null ) {
throw new HibernateException( "Could not locate root element" );
}View on GitHub (pinned to fad1729dce)
Solutions
- Validate the cfg.xml against the hibernate-configuration XSD at the reported line/column; fix the malformed element or attribute.
- Check for unclosed tags, invalid characters, or wrong namespaces in the XML.
- Compare the file against a known-good hibernate.cfg.xml template.
When it happens
Trigger: JAXB cannot parse the XML configuration document.
Common situations: Malformed or schema-violating hibernate.cfg.xml content, or a document missing its expected root element.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/e819af53aeec7573.
Report an issue: GitHub.