通过Class 能联系到 Student,而反过来没有联系。
public class Classes{ public class Student{
private int id; 一对多单项联系 private Long sid;
private String name; ————————> private String sname;
private Set<Strudent> students; private String description;
} }
2、建cn.google.hibernate.domain.Classes.java
public class Classes implements Serializable{
private Long cid;
private String cname;
private String description;
private Set<Student> students;
封装……
}
3、cn.google.hibernate.domain.Students
public class Student implements Serializable{
private Long sid;
private String sname;
private String description;
封装……
}
4、建 Classes.hbm.xml
<hibernate-mapping>
<class name="cn.itcast.hiberate.sh.domain.Classes">
<id name="cid" length="5" type="java.lang.Long">
<generator class="increment"></generator>
</id>
<property name="cname" length="20" type="java.lang.String"></property>
<property name="description" length="100" type="java.lang.String"></property>
<!--
set元素对应类中的set集合
通过set元素使classes表与student表建立关联
key是通过外键的形式让两张表建立关联
one-to-many是通过类的形式让两个类建立关联
-->
<set name="students" cascade="save-update" >
<!--
key是用来描述外键
-->
<key>
<column name="cid"></column>
</key>
<one-to-many class="cn.itcast.hiberate.sh.domain.Student"/>
</set>
</class>
</hibernate-mapping>
5、创建 Sutdent.hbm.xml
<hibernate-mapping>
<class name="cn.itcast.hiberate.sh.domain.Student">
<id name="sid" length="5">
<generator class="increment"></generator>
</id>
<property name="sname" length="20"></property>
<property name="description" length="100"></property>
</class>
</hibernate-mapping>
6、写配置文件 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="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/itcast_sh_hibernate
</property>
<property name="hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<mapping resource="cn/itcast/hiberate/sh/domain/Classes.hbm.xml" />
<mapping resource="cn/itcast/hiberate/sh/domain/Student.hbm.xml" />
</session-factory>
</hibernate-configuration>