关于hibernate中hbm.xml文件报错的解决
来源:互联网 发布:java log4j 写入文件 编辑:程序博客网 时间:2024/06/08 07:55
报错信息片断如下:
[java] log4j:WARN No appenders could be found for logger (org.hibernate.cfg
.Environment).
[java] log4j:WARN Please initialize the log4j system properly.
[java] org.hibernate.InvalidMappingException: Could not parse mapping docum
ent from resource Customer.hbm.xml
[java] at org.hibernate.cfg.Configuration.addResource(Configuration.jav
a:569)
[java] at org.hibernate.cfg.Configuration.parseMappingElement(Configura
tion.java:1587)
[java] at org.hibernate.cfg.Configuration.parseSessionFactory(Configura
tion.java:1555)
[java] at org.hibernate.cfg.Configuration.doConfigure(Configuration.jav
a:1534)
[java] at org.hibernate.cfg.Configuration.doConfigure(Configuration.jav
a:1508)
[java] at org.hibernate.cfg.Configuration.configure(Configuration.java:
1428)
[java] at org.hibernate.cfg.Configuration.configure(Configuration.java:
1414)
[java] at Test.main(Unknown Source)
[java] Caused by: org.hibernate.InvalidMappingException: Could not parse ma
pping document from invalid mapping
[java] at org.hibernate.cfg.Configuration.addInputStream(Configuration.
java:502)
[java] at org.hibernate.cfg.Configuration.addResource(Configuration.jav
a:566)
[java] ... 7 more
[java] Caused by: org.xml.sax.SAXParseException: 文档根元素“hibernate-mapp
ing”必须与 DOCTYPE 根“hibernate-configuration”匹配。
在按照《纯hibernate学习(包含小实例)》一文中的过程进行学习时,出现了上述问题,因为我用的是hibernate3.2和DB2-9,具体的下载的文件的名字是:hibernate-3.2.5.ga.zip & db2exc_912_WIN_x86.zip
所以一直以为是数据库连接和hibernate.cfg.xml文件配置引起的问题。后来在网上也没有找到具体的原因。最后发现是由于*.hbm.xml文件头元素<!DOCTYPE>引起的:
错误的DOCTYPE:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
正确的DOCTYPE:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
于是看出hibernate3.2还是沿用了以前3.2之前的版本的DOCTYPE书写规范。也许这是我个人遇到的问题,但是感觉确实小问题有时候也真的让人搞到愤怒。具体为啥会这样,我也不太清楚。还请高手提示一下啊!
------------------Hibernate3.2.5 连接 DB2exc9的具体配置----------------------------
下面我把具体的把我配置文件和映射文件给出,希望能给大家提供方便,并欢迎及时交流。
hibernate.cfg.xml文件的具体代码如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="java:/hibernate/HibernateFactory">
<property name="show_sql">true</property>
<property name="connection.driver_class">COM.ibm.db2.jdbc.app.DB2Driver</property>
<property name="connection.url">jdbc:db2:hib_test</property>
<property name="connection.username">administrator</property>
<property name="connection.password"> hdwt41092900hdwt</property>
<property name="dialect">org.hibernate.dialect.DB2Dialect</property>
<mapping resource="Customer.hbm.xml"/>
</session-factory>
</hibernate-configuration>
1.请大家注意:在hibernate.cfg.xml文件中的DOCTYPE和Customer.hbm.xml文件中的DOCTYPE是不一样的,但是hibernate.cfg.xml不报错,所以我也很奇怪,并且hibernate.cfg.xml文件中的DOCTYPE用的还是hibernate3.2.5中自带的例子中用到的。
Customer.hbm.xml的具体代码如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="Customer" table="CUSTOMER">
<id type="java.lang.Integer" name="id" column="CID" length="4" unsaved-value="null">
<generator class="increment"/>
</id>
<property type="string" name="username" column="USERNAME" length="12">
</property>
<property type="string" name="password" column="PASSWORD" length="12">
</property>
</class>
</hibernate-mapping>
- 关于hibernate中hbm.xml文件报错的解决
- Hibernate的hbm.xml文件中相关属性说明
- hibernate中....hbm.xml文件的配置说明
- Hibernate中.hbm.xml文件的常用设置
- hibernate *.hbm.xml文件的配置
- hibernate读取hbm.xml文件报错Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
- Hibernate框架中hibernate.properties属性文件,hibernate.cfg.xml配置文件,以及Users.hbm.xml映射文件的配置
- Spring 中配置hibernate的hbm文件
- Spring+Hibernate配置hbm.xml文件在jar文件中。
- Hibernate 中 .hbm.xml映射文件 路径问题
- eclipse中hibernate反创建java和hbm.xml文件
- Hibernate中,各表映射文件...hbm.xml详解
- Hibernate(11)*.hbm.xml文件中主键增长策略
- Eclipse中写Hibernate的hbm.xml文件时不自动提示的问题解决
- 在NetBeans5.0中使用xdoclet生成hibernate的*.hbm.xml文件
- Hibernate中hbm.xml文件的inverse、cascade、fetch、outer-join、lazy
- hibernate中的sql语句写在xxx.hbm.xml中解决hibernate中原生sql的硬编码问题
- hibernate4的cfg.cml文件和hbm.xml文件无法读取报错
- 过来人告诉我php成长之路
- 在Delphi中使用原生ADO控制数据库
- Facade(外观 总管 Manager)
- 横穿马路被电视台抓住采访时要沉着应答
- 规格化打开弹出窗口
- 关于hibernate中hbm.xml文件报错的解决
- Visual Studio 2005 SP1集成(整理前辈版本) (转)
- EFS文件加密技术
- GridView刪除確認
- AutoRun.inf 命令(翻译MSDN)
- 帮你免于失业的十大软件技术
- 关于sin x = 1/x!-x/3!+x/5!-x/7!+……的c程序
- 试验网站#1搜索引擎优化收录情况记录(断续运行)2007-9-5
- 试验网站#3搜索引擎优化收录情况记录2007-9-5