hibernate多对多



一、多对多,自动生成第三张连接表(体现对应关系)

持久化类StudentClass
public class StudentClass implements Serializable {
    private Long class_id;
    private String class_name;
    private Set<Teacher> teachers;

持久化类Teacher

public class Teacher implements Serializable {
    private Long teacher_id;
    private String teacher_name;
    private Set<StudentClass> classSet;

StudentClass.hbm.xml配置文件
两个配置文件中,<set talbe=要起相同的名字,这是连接表的表名
<key column注意互相的关系
<hibernate-mapping>
    <class name="Hibernate_manyToMany.StudentClass">
        <id name="class_id" column="class_id">
            <generator class="increment"></generator>
        </id>
        <property name="class_name"></property>

        <set name="teachers" cascade="all" lazy="false"
table="teacher_class">
            <key column="c_id"></key>
           <many-to-many class="Hibernate_manyToMany.Teacher"
column="t_id"></many-to-many>
        </set>
    </class>
</hibernate-mapping>
Teacher.hbm.xml配置文件

<class name="Hibernate_manyToMany.Teacher">
    <id name="teacher_id" column="teacher_id">
        <generator class="increment"></generator>
    </id>
    <property name="teacher_name"></property>

    <set name="classSet" cascade="all" lazy="false"
table="teacher_class" >
        <key column="t_id"></key>
       <many-to-many class="Hibernate_manyToMany.StudentClass"
column="c_id"></many-to-many>
    </set>
</class>