网上出现这个问题的
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>