hibernate.sourceforge.net Nested exception: hibern

在Configuration.buildSessionFactory中,parse xxx.hbm.xml的时候,经常抛出UnknowHostException:hibernate.sourceforge.net,而我将DTD换成我本地的地址就可以了,难道一定要写上DTD引用的吗?如果我的server没连在internet上面,要把DTD放在本地,但我如果换了路径,那岂不是要将所有的XML都修改?
异常如下:
org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.dom4j.io.SAXReader.read(SAXReader.java:358)
at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:252)
at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:286)
at dbdemo.HibernateDemo.run(HibernateDemo.java:53)
at dbdemo.HibernateDemo.main(HibernateDemo.java:31)
Nested exception:
java.net.UnknownHostException: hibernate.sourceforge.net
at java.net.InetAddress.getAllByName0(InetAddress.java:591)
at java.net.InetAddress.getAllByName0(InetAddress.java:560)
at java.net.InetAddress.getByName(InetAddress.java:469)
at java.net.Socket.<init>(Socket.java:121)
at sun.net.NetworkClient.doConnect(NetworkClient.java:65)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:361)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:548)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:296)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:318)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:466)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:562)
at java.net.URL.openStream(URL.java:826)
at org.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.java:748)
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:708)
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:258)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:833)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:525)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:581)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1158)
at org.dom4j.io.SAXReader.read(SAXReader.java:339)
at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:252)
at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:286)
at dbdemo.HibernateDemo.run(HibernateDemo.java:53)
at dbdemo.HibernateDemo.main(HibernateDemo.java:31)
MappingException hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
java.lang.NullPointerException
at dbdemo.HibernateDemo.run(HibernateDemo.java:172)
at dbdemo.HibernateDemo.main(HibernateDemo.java:31)
Exception in thread "main"

Users.hbm.xml:
<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>
<class
name="dbdemo.Users"
table="Users"
dynamic-update="false"
>

<id
name="userID"
column="LogonID"
type="string"
unsaved-value="any"
>
<generator class="assigned">
</generator>
</id>

<property
name="emailAddress"
type="string"
update="true"
insert="true"
column="EmailAddress"
/>

<property
name="lastLogon"
type="date"
update="true"
insert="true"
column="LastLogon"
/>

<property
name="password"
type="string"
update="true"
insert="true"
column="Password"
/>

<property
name="userName"
type="string"
update="true"
insert="true"
column="Name"
/>

<set
name="contacts"
table="Contacts"
lazy="false"
inverse="false"
cascade="all"
sort="unsorted"
>

<key
column="User_ID"
/>

<one-to-many
class="dbdemo.Contact"
/>
</set>

<set
name="books"
table="Book_User_Link"
lazy="false"
inverse="false"
cascade="all"
sort="unsorted"
>

<key
column="UserID"
/>

<many-to-many
class="dbdemo.Book"
column="BookID"
outer-join="auto"
/>

</set>

<one-to-one
name="address"
class="dbdemo.Address"
cascade="none"
outer-join="auto"
constrained="false"
/>

<!--
To add non XDoclet property mappings, create a file named
hibernate-properties-User.xml
containing the additional properties and place it in your merge dir.
-->

</class>

</hibernate-mapping>

如果将文件头换成

<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"file:///F:/hibernate-test/classes/hibernate-mapping-2.0.dtd">
就可以了。

----------------------------------------------------------------------

org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.dom4j.io.SAXReader.read(SAXReader.java(Compiled Code))
at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java(Compiled Code))
at org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:383)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:990)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:275)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:193)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java(Compiled Code))
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java(Compiled Code))
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:230)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:304)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:80)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java(Compiled Code))
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java(Compiled Code))
at java.lang.reflect.Constructor.newInstance(Constructor.java(Compiled Code))
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:73)

-----------------------------------------------------------------------本机调试时出现的情况: [color=red]由于我使用的Hibernate3.0 而 项目中使用的是Hibernate2.0 的所以出现上述错误,映射表要和2.0的一样,特别是DTD表头,[/color]望吸取教训,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值