2014-05-12 152 views
0

enter image description here你好我绑,使用户登记表简单的Web应用程序使用JSP和休眠当我运行我的应用程序我得到以下ExeptionMappingNotFoundException:资源:user.hbm.xml找不到

MappingNotFoundException: resource: user.hbm.xml not found 

这里是我的代码

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
      "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
      "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<!-- Generated by MyEclipse Hibernate Tools.     --> 
**hibernate.cfg.xml** 
    <hibernate-configuration> 

      <session-factory> 
      <property name="hbm2ddl.auto">update</property> 
      <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
      <property name="connection.url">jdbc:mysql://localhost:3306/employee</property> 
      <property name="connection.username">root</property> 
      <property name="connection.password"></property> 
      <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
      <property name="show_sql">true</property> 
     <mapping resource="hiber/user.hbm.xml"/> 
     </session-factory> 

    </hibernate-configuration> 

user.hbm.xml

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

      <hibernate-mapping> 
      <class name="User" table="u400"> 
      <id name="id"> 
      <generator class="increment"></generator> 
      </id> 
      <property name="name"></property> 
      <property name="password"></property> 
      <property name="email"></property> 
      </class> 
      </hibernate-mapping> 

项目结构如下

Project 
    | 
    |-WebPages 
    | 
    |-src 
    |-hiber 
    | |-user.java 
     |-UserDao.java 
     |-user.hbm.xml 
     |-hibernate.cfg.xml 

如何删除这个例外,我应该怎么做事先

由于得到以下异常

type Exception report 

messageInternal Server Error 

descriptionThe server encountered an internal error that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: org.hibernate.HibernateException: Could not parse configuration: /hiber/hibernate.cfg.xml 

root cause 

org.hibernate.HibernateException: Could not parse configuration: /hiber/hibernate.cfg.xml 

root cause 

org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net 

回答

1

检查休眠和罐子版本DTD版本进行比较这里面hibernate.cfg.xml

应该基本一致,否则它无法解析的依赖关系。希望的

<mapping resource="user.hbm.xml"/> 

代替

<mapping resource="hiber/user.hbm.xml"/> 

它的工作对我来说,你:

+0

我正在使用hibernet 3.0 jar和dtd版本的文件是3.0 – user3598351

+1

okie ..然后尝试从hibernate.cfg.cml中删除encoding ='UTF-8' –

+0

它的工作原理感谢 – user3598351

0

你可以尝试充分hibernate.cfg.xml中的user.hbm.xml路径。

<mapping resource="hiber/user.hbm.xml"/> 
+0

我在我的文章中添加完整路径 – user3598351

+0

根据您的项目结构,您的hbm文件位于hiber文件夹内。 –

+0

我做了这个,现在我得到了其他豁免 – user3598351

0

不要在映射资源使用的完整路径。

0

愚蠢的错误: - 您的pojo /持久类有“User.java”名称,以大写'U'开头,但映射文件“user.hbm.xml”以小'u'开头。解决方案: - 两个名称应该相同。例如: - “User.java”和“User.hbm.xml”。 - 快乐编码。