读书人

hibernate.MappingException: Error r

发布时间: 2012-04-05 12:42:40 作者: rapoo

hibernate.MappingException: Error reading resource: zhb/ssh/entity/zhb.hbm.xml

hibernate.cfg.xml配置

<?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">
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="connection.url">jdbc:oracle:thin:@192.168.20.2:1521:rjgc</property>
<property name="connection.username">interread</property>
<property name="connection.password">interread</property>
<property name="connection.driver">oracle.jdbc.driver.OracleDriver</property>
<property name="show_sql">true</property>
<mapping resource="zhb/ssh/entity/zhb.hbm.xml"/>

</session-factory>

</hibernate-configuration>

zhb.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="zhb.ssh.entity.ZhbBean" table="ZHB">
<id name="id" type="java.lang.Integer">
<column name="ID"/>
<generator class="assigned"/>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20"></column>
</property>
<property name="typeId" type="java.lang.Integer">
<column name="TYPEID"></column>
</property>
</class>
</hibernate-mapping>

ZhbBean类

package zhb.ssh.entity;

import java.io.Serializable;

public class ZhbBean implements Serializable {

private int id;
private String name;
private int typeId;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getTypeId() {
return typeId;
}
public void setTypeId(int typeId) {
this.typeId = typeId;
}

}

执行的Java类:
package zhb.ssh.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import zhb.ssh.entity.ZhbBean;

public class ZhbDao {

public ZhbBean getZhb(int id){
SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session=sf.openSession();
ZhbBean zb=(ZhbBean)session.get(ZhbBean.class, id);
sf.close();
return zb;
}
public static void main(String[] args){
ZhbDao z=new ZhbDao();
ZhbBean zhb= z.getZhb(2);
System.out.println(zhb.getName());
}
}


错误信息:

1、org.hibernate.MappingException: Error reading resource: zhb/ssh/entity/zhb.hbm.xml

2、org.hibernate.MappingException: invalid mapping

3、org.xml.sax.SAXParseException: Document root element "hibernate-mapping", must match DOCTYPE root "Hibernate-mapping".



希望有朋友可以帮助我!我急着用。


[解决办法]
应该是一个hibernate不小心写成Hibernate了,先把hbm.xml文件改成下面的试试,看看还有问题么?

XML code
<?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="zhb.ssh.entity.ZhbBean" table="ZHB"> <id name="id" type="java.lang.Integer"> <column name="ID"/> <generator class="assigned"/> </id> <property name="name" type="java.lang.String"> <column name="NAME" length="20"></column> </property> <property name="typeId" type="java.lang.Integer"> <column name="TYPEID"></column> </property> </class> </hibernate-mapping> 

读书人网 >J2EE开发

热点推荐