-----多对一
@Before public void myBefore(){ cf = new Configuration().configure(); // 2.创建SessionFactory SessionFactory sessionFactory = cf.buildSessionFactory(); // 3. 打开session session = sessionFactory.getCurrentSession(); // 4. 开始一个事务 tx = session.beginTransaction(); } @After public void myAfter() { tx.commit(); }
2.一对多双项
1.使用Cascade属性
Cascade取值:
None,save-update,delete和all
1.当Session操作当前对象时,忽略其他的对象。它是cascade属性的默认值。
save-update:当通过Session的save(),update(),SavaOrupdate()方法来保存或更新当前对象时,级联保存所有关联的新建瞬时态的对象,并且级联跟新所有关联的游离状态的对象。
Delete:当通过Session的delete()方法删除当前对象时,会级联删除所有关联的对象。
All:包含save-update,delete的行为。
注意:级联就是说当我们保持持久化对象A的时候自动帮我们保持持久化B的对象。
3.多对多单向
4.多对多双向