当前位置: 首页 > 知识库问答 >
问题:

Hibernate映射在脱机模式下不工作

法烨烨
2023-03-14

我们正在进行灾难恢复练习,一些Hibernate Spring应用程序没有出现以下错误

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
                at java.security.AccessController.doPrivileged(AccessController.java:214)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
                at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
                at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
                at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1029)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:977)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
                ... 55 more
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
                at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:541)
                at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:638)
                at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
                ... 67 more
**Caused by: org.dom4j.DocumentException: Server returned HTTP response code: 504 for URL: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd Nested exception: Server returned HTTP response code: 504 for URL: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd**
                at org.dom4j.io.SAXReader.read(SAXReader.java:484)
                at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:532)
                ... 71 more

hbm映射XML文件已被删除

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 

在SO和Hibernate论坛上搜索修复程序看起来需要在doctype to SYSTEM中创建DTD,以便它从本地系统而不是sourceforge上托管的公共DTD读取。网

<!DOCTYPE hibernate-mapping SYSTEM "hibernate-mapping-3.0.dtd">

但是Hibernate正在查找appserver根文件夹上的文件

Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
                at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:541)
                at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:638)
                at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
                ... 72 more
Caused by: org.dom4j.DocumentException: C:\IBMSOA\SDP70\runtimes\base_v61\profiles\AppSrvWSFP01\hibernate-mapping-3.0.dtd (The system cannot find the file specified.) Nested exception: C:\IBMSOA\SDP70\runtimes\base_v61\profiles\AppSrvWSFP01\hibernate-mapping-3.0.dtd (The system cannot find the file specified.)
                at org.dom4j.io.SAXReader.read(SAXReader.java:484)
                at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:532)
                ... 76 more

如何指定系统DTD引用,以便Hibernate从Hibernate读取DTD。而不是在文件系统中查找它?

共有3个答案

濮佑运
2023-03-14

http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"

下载此文件并在本地使用

配置文件也是如此

孙梓
2023-03-14

下载dtd文件并在本地使用它将工作

薛钧
2023-03-14

查看DTDEntityResolver的hibernate源代码http://grepcode.com/file/repo1.maven.org/maven2/org.hibernate/hibernate-core/3.3.1.GA/org/hibernate/util/DTDEntityResolver.java#DTDEntityResolver下面的方法对我们有用

<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 

为开源欢呼!

 类似资料:
  • 问题内容: 根据文档,hibernate3.6应该支持java.util.UUID类型。但是当我像这样映射时: 我得到以下异常: 我知道带有堆栈跟踪的问题不是很流行,但这是一个非常hibernate的问题,我一直无法在Google上找到任何东西:) 谢谢 问题答案: UUID是3.6中添加的基本类型。但是,默认情况下,它转换为JDBC Binary类型,这似乎导致mysql问题。您可以通过显式指定

  • 我有一个夸克斯Kafka消费者。在 VM 模式下,它工作正常。 在我用:。/mvnw包-可选 当我在纯模式下运行它时,我有这个例外:

  • 上一章中我们谈论了如何在Vim中映射按键。我们使用的命令map在normal模式下工作。 如果阅读本章之前你自己已经折腾了,可能会注意到这个映射在visual模式一样工作。 你可以使用nmap、vmap和imap命令分别指定映射仅在normal、visual、insert模式有效。 执行如下命令: :::vim :nmap \ dd 在normal模式下,按下\。Vim会删除当前行。 现在进入V

  • 我正在使用Hibernate和JPA注释来映射我的类。当hibernate尝试映射这个类时,我遇到了一个问题 我的Social alStat类是: 我得到了这个错误: 我猜发生这种情况是因为我试图映射到一个基本类,但@ElementCollection注释不应该解决这个问题吗? 我的item类如下所示:

  • 我最近用Google节点模块“sw-precache”生成的服务工作者制作了我的第一个渐进式web应用程序(我在演示中使用了Gulp任务)。一切工作良好,我能够导航通过网页应用当我离线使用Chrome在移动或使用Chrome创建的图标使用“添加到主屏幕”选项(我的渐进式网页应用)。 我只有一个奇怪的问题:如果我离线了,我用Chrome刷新页面,它仍然可以工作,但如果我用pwa做同样的事情,它会显示

  • 使用localhost,PWA服务工作人员在所有场景中都可以正常工作,但在部署(在带有GIT管道的Azure服务器上)后,在联机模式下,所有工作都可以正常工作:1。服务人员已注册。2.缓存API响应。现在,当我脱机时,服务工作者仍然尝试从网络获取api响应(由于处于脱机模式,所以给出504错误),而不是从缓存获取这些响应。我可以在缓存中看到数据,但问题是ServiceWorker仍然只尝试从网络中