2015-09-20 51 views
1

与“>”结束以下是我hibernate.cfg.xml文件根元素类型文档类型声明“休眠配置”必须蚀

<!DOCTYPE hibernate-configuration SYSTEM 
      "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
      "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
<session-factory> 
<property name="hbm2ddl.auto">update</property> 
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> 
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property> 
<property name="connection.username">bala</property> 
<property name="connection.password">bala</property> 
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
<mapping resource="Products.hbm.xml" /> 

我得到了错误时改变“公开”到SYSTEM。我无法运行我的网络应用程序,如果我关掉我的网络连接

我的问题如何执行一个Hibernate的网络程序没有互联网连接?

+0

您可以发布完整的hibernat.cfg.xml文件吗?发布的配置没有一些结束标签。 – Gaurav

+0

无法发布完整的hibernate..cfg.xml。错过的行是 true bala

回答

0

如果您需要更改一种文档类型定义,您应该知道,对于SYSTEM,只有系统标识符必须给出,但PUBLIC需要一个正式的公共标识符,然后是一个系统标识符。

所以,你的情况,你需要使它像:

<!DOCTYPE hibernate-configuration SYSTEM 
    "classpath://org/hibernate/hibernate-configuration-3.0.dtd"> 

在这种情况下,DTD文件不会被下载,但使用本地的一个,它必须在classpath中。

+0

好的,我明白了。但是如果我在Java项目中做出同样的改变,那就没有错误。为什么?你能否更详细地解释我? – bala

+0

你的意思是,错误只在你通过Eclipse编译和运行时出现?如果是这样,我想,这是因为Eclipse有它自己的java编译器,它有时可能会有不同的表现 – Stanislav

+0

@Stanislav我在教我的学生时遇到同样的问题。我有完全相同的代码,当我做到这一点时,它运行得非常好。我的一半学生也能够做到这一点。但他们中的几个人有这个解析错误。我们尝试了很多东西,但无法运行 –

相关问题