Hibernate 5.4.x Причина: org.hibernate.boot.MappingException: Ошибка при доступе к потоку stax: origin (null) - PullRequest
0 голосов
/ 28 июня 2019

Я использую Hibernate 5.4.1. Все работает нормально с 28 июня 2019 г. Не удается запустить службу.

Caused by: org.hibernate.boot.InvalidMappingException: Could not parse mapping document: null (INPUT_STREAM)
    at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:46)
    at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:38)
    at org.hibernate.boot.spi.XmlMappingBinderAccess.bind(XmlMappingBinderAccess.java:94)
    at org.hibernate.boot.MetadataSources.addInputStream(MetadataSources.java:382)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:475)
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:508)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1741)
    ... 68 more
Caused by: org.hibernate.boot.MappingException: Error accessing stax stream : origin(null)
    at org.hibernate.boot.jaxb.internal.AbstractBinder.seekRootElementStartEvent(AbstractBinder.java:141)
    at org.hibernate.boot.jaxb.internal.AbstractBinder.doBind(AbstractBinder.java:101)
    at org.hibernate.boot.jaxb.internal.AbstractBinder.bind(AbstractBinder.java:57)
    at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:43)
    ... 75 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2]
Message: The markup declarations contained or pointed to by the document type declaration must be well-formed.
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:601)
    at com.sun.xml.internal.stream.XMLEventReaderImpl.peek(XMLEventReaderImpl.java:276)
    at javax.xml.stream.util.EventReaderDelegate.peek(EventReaderDelegate.java:104)
    at org.hibernate.boot.jaxb.internal.stax.BufferedXMLEventReader.peek(BufferedXMLEventReader.java:96)
    at org.hibernate.boot.jaxb.internal.AbstractBinder.seekRootElementStartEvent(AbstractBinder.java:137)
    ... 78 more

Ответы [ 2 ]

1 голос
/ 28 июня 2019

Наконец я нашел основную причину. Обновление Hibernate файл dtd 27 июня 2019 года. Кажется, обновленный файл hibernate-mapping.dtd не сравнится с предыдущей версией.

Перед моим отображением спящего объекта * .hbm.xml используйте:

"http://hibernate.org/dtd/hibernate-mapping.dtd">

После исправления поменяйте на нижний, и это сработает:

"https://hibernate.org/dtd/hibernate-mapping-3.0.dtd">

0 голосов
/ 28 июня 2019

Очень похожая проблема возникла с сервисом на основе гибернации, который я обслуживаю вчера. Служба работала бесперебойно с 2017 года (и с тех пор не изменялась), но внезапно начала сбой в 2019-06-28 со следующей ошибкой:

Caused by: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 26; Element type "hibernate-configuration" must be declared.

Блок DOCTYPE в моем файле конфигурации hibernate выглядел так:

<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://www.hibernate.org/dtd//hibernate-configuration-3.0.dtd">

По причинам, которые я не до конца понимаю, удаление лишнего символа косой черты в URL DTD устранило проблему:

<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

Я полагаю, что обе наши проблемы были вызваны необычным изменением того, как hibernate.org обслуживает эти файлы DTD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...