Hibernate:必须声明元素类型“hibernate-configuration”。没有迁移

我正在使用 maven 来集成我的项目。我收到常见的“必须声明元素类型‘hibernate-configuration’”。问题虽然我没有对项目的休眠部分进行任何更改。它自行停止工作。


例外


WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from class path resource [hibernate.cdf.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 26; Element type "hibernate-configuration" must be declared.

Jun 27, 2019 7:03:22 PM org.springframework.web.servlet.FrameworkServlet initServletBean

SEVERE: Context initialization failed

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from class path resource [hibernate.cdf.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 26; Element type "hibernate-configuration" must be declared.

    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)

    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)

    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)

    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)

    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224)

    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195)

    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromImportedResources$0(ConfigurationClassBeanDefinitionReader.java:358)

Cats萌萌
浏览 264回答 3
3回答

呼唤远方

在映射中,我替换为:<!DOCTYPE&nbsp;hibernate-mapping&nbsp;PUBLIC&nbsp;"-//Hibernate/Hibernate&nbsp;Mapping&nbsp;DTD&nbsp;3.0//EN" "classpath://org/hibernate/hibernate-mapping-3.0.dtd">在配置中,我替换为:<!DOCTYPE&nbsp;hibernate-configuration&nbsp;PUBLIC&nbsp;"-//Hibernate/Hibernate&nbsp;Configuration&nbsp;DTD//EN" "classpath://org/hibernate/hibernate-configuration-3.0.dtd">http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd是个好网址,但从昨天开始就非常不稳定了:'(“重定向 301”到https://hibernate.org似乎导致了这个问题。在 xml 中直接使用 https 也不行。小心,旧的 tomcat(6 或更早版本)不识别协议“classpath://”。

繁星coding

DTD 文件位于两个 HTTP 重定向 (301) 之后,读取 XML 并使用 DTD 验证的 Java InputStream 不能很好地处理它。将 DTD 替换为:https://hibernate.org/dtd/hibernate-configuration-3.0.dtd所以这是一个直接链接到它

明月笑刀无情

我找到了解决方案。因为我主要使用编程配置,所以我删除了 @ImportResource(value = {"classpath:hibernate.cdf.xml"}) 注释,这样就不会使用 hibernate.cdf.xml。然后我尝试使用编程配置设置以前在 xml 中看到的属性。这:<property&nbsp; &nbsp; &nbsp;name="hibernate.current_session_context_class">thread</property><property name="hibernate.enable_lazy_load_no_trans">true</property>可以表示为:hibernateProperties.setProperty&nbsp; ("org.hibernate.context.internal.ThreadLocalSessionContext", "thread");hibernateProperties.setProperty("hibernate.enable_lazy_load_no_trans", "true");觉得合适的请采纳。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java