Hibernate一对多单向映射_自我学习

首先是映射文件的配置

teacher

<hibernate-mapping>
    <class name="pojo.Teacher" table="teacher" >
        <id name="t_ID" column="ID">
            <generator class="identity"/>
            </id>
        <property name="name" column="name"/>
    </class>
</hibernate-mapping>

student

    <class name="pojo.Student" table="student" >
        <id name="s_ID" column="ID">
            <generator class="identity"/>
            </id>
        <property name="name" column="name"/>
        <!--cascade="all"属性用于设置级联保存,即只需要显式保存多的一方即可 -->
         <many-to-one name="teacher" column="teacherId" not-null="true" cascade="all">
         </many-to-one>
    </class>

 其次是类

	public Teacher() {
	}
	private Integer t_ID;
	private String name;
	private Set<Student> students = new HashSet<Student>();
private Integer s_ID;
	private String name;
	private Teacher teacher;

 最后是调用

public static void onetomany()
	{
		Session s = HibernateUtil.getSession();
		Teacher t = new Teacher();
		Student stu = new Student();
		t.setName("a1");
		stu.setName("asd");
		Transaction tx = s.beginTransaction();
		//首先保存一的一方
		//s.persist(t);
		stu.setTeacher(t);
		s.persist(stu);
		tx.commit();
	}

猜你喜欢

转载自alexshaw.iteye.com/blog/1820134