關聯關係的級聯操作

26. 關聯關係的級聯操作
s.save(depart);
s.save(employee1);
s.save(employee2);
如果不保存employee1和employee2 那麼出現如下錯誤:
org.hibernate.TransientObjectException: object references an unsaved transient instance

depart.setName("department 1"); //ok
depart.setEmps(emps); //出錯 保存了一個未保存的對象
hibernate 對複雜的關聯屬性不會保存,刪除也不會刪除
26.1. 可以通過配置級聯實現保存
Department.hbm.xml中<set name="emps" cascade="save-update">

s.save(depart);
// s.save(employee1);
// s.save(employee2);
不會出錯
Cascade 包括 :none,all,save-update,delete,lock,refresh,evict,replicate,persist,merge,delete-orphan(刪除孤兒one-to-many)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章