读书人

hibernate映射有关问题?

发布时间: 2013-08-09 15:16:24 作者: rapoo

hibernate映射问题??
求大神解决!!
错误:
Exception in thread "main" org.hibernate.MappingException: Unknown entity: com.hibernate.model.Student

Student.hbm.xml:


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

<hibernate-mapping package="com.hibernate.model">

<class name="com.hibernate.model.Student" table="student">
<id name="id" column="s_id" type="integer">
<generator class="native" />
</id>
<property name="name" column="s_name" type="string"></property>
<property name="sex" column="s_sex" type="string"></property>
<property name="age" column="s_age" type="integer"></property>
<property name="time" column="s_time" type="date"></property>

</class>
</hibernate-mapping>


Student.java:

package com.hibernate.model;

import java.util.Date;

public class Student {
private int id;
private String name;
private String sex;
private int age;
private Date time;

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 String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public Date getTime() {
return time;
}

public void setTime(Date time) {
this.time = time;
}
}


[解决办法]
hibernate.cfg.xml里配置了吗?
[解决办法]
因为你的映射文件(*.hbm.xml) 没有被映射
问题出现的原因,有几下几点:
1,检查你的映射文件的名字是否和你的Student(*.java)的名字是否相同。
2.映射文件的名字是*.hbm.xml而不是*.xml
3.你是否加载了你的映射文件。
加载的方法:
在你的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">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
…………
…………
<!-- 用于记载映射文件Student.hbm.xml-->
<mapping resource="com/Students.hbm.xml"/>
</session-factory>
</hibernate-configuration>

另外,package 和class 的name不能有重复的地方 ,一个写了包名 另一个只写文件名就可以了

读书人网 >Java Web开发

热点推荐