hibernate的reverse在一的一方已经设置为true的问题

请问java高手,hibernate的reverse在一的一方已经设置为true,为什么保存一的一方时,还会保存多方啊?
比如,teacher为1方,student为多方,关联设置为


<!-- -->


SEQ_TEST




<!-- 多方关联到1方的列 -->


。。。

<!-- cascade="all" -->
<!-- 此处还是1方关联到多方的列 -->



java代码为:
Teacher t1 = new Teacher();
Student s1= new Student();
s1.setName("xiaomm1");

    Student s2= new Student();
    s2.setName("xiaomm2");

    t1.setName("ttt1");

    Set<Student> sts =new HashSet<Student>();
    sts.add(s1);
    sts.add(s2);
    t1.setStudents(sts);//老师关联学生

    Configuration cf=new Configuration().configure();
    SessionFactory sf = cf.buildSessionFactory();
    Session session = sf.openSession();
    Transaction tx = session.beginTransaction();
    session.save(t1);//只保存老师

运行结果为,老师和学生都保存了,只是student的teacher_id为空而已,不是说一的方reverse=true,保存一方时,不操作多的一方的数据库吗?
请高手指点,感激不尽了

reverse 与 cascade 一起设置试试