网上出现这个问题的
lei.hbm.xml配置写错的,文件头应该改为如下,并不是这个问题
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
也有说
hibernate-mapping package 这里没加包名的.也不是,我加了
<hibernate-mapping package="com.hs.model ">
奇葩问题,在class name上边加上包名解决
类.hbm.xml配置文件结构如下
代码中加粗的地方,最好加上包名,不然容易出奇葩问题
<!-- 映射文件的根节点 --> <hibernate-mapping > <!-- 对象关系映射的开始:class元素表示类和数据库中的表的映射关系。 name属性指定持久化类(或者接口)的Java全限定名; table属性指定要映射的对应的数据库表名,如果省略,则以name作为表名 --> <class name="com.hs.model.StudentModel" table="table_student"> <!-- 持久化类对象的对象标识符(OID)和表的主键的映射关联: name属性指定类中作为OID的属性名; column属性表中主键字段的名字;如果省略,则以name作为字段名 --> <id name="id" column="id"> <!-- 指定对象标识符生成器:class属性指定生成器的类别名 --> </id> <!-- 普通属性的映射: name属性:属性的名字,以小写字母开头; column属性:对应的数据库字段名.如果省略,则以name作为字段名 type属性:指定Hibernate的映射类型、如果省略,则自动匹配 --> <property name="username" column="username"/> <property name="password" column="password" /> </class> </hibernate-mapping>
Could not parse mapping document from resource com/hs/model/StudentModel.hbm.xml