欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Hibernate cascade級(jí)聯(lián)屬性的CascadeType的用法

 更新時(shí)間:2017年02月09日 14:29:06   投稿:lqh  
這篇文章主要介紹了詳解Hibernate cascade級(jí)聯(lián)屬性的CascadeType的用法的相關(guān)資料,需要的朋友可以參考下

詳解Hibernate cascade級(jí)聯(lián)屬性的CascadeType的用法

cascade(級(jí)聯(lián))

級(jí)聯(lián)在編寫(xiě)觸發(fā)器時(shí)經(jīng)常用到,觸發(fā)器的作用是當(dāng) 主控表信息改變時(shí),用來(lái)保證其關(guān)聯(lián)表中數(shù)據(jù)同步更新。若對(duì)觸發(fā)器來(lái)修改或刪除關(guān)聯(lián)表相記錄,必須要?jiǎng)h除對(duì)應(yīng)的關(guān)聯(lián)表信息,否則,會(huì)存有臟數(shù)據(jù)。所以,適當(dāng)?shù)淖龇ㄊ?,刪除主表的同時(shí),關(guān)聯(lián)表的信息也要同時(shí)刪除,在hibernate中,只需設(shè)置cascade屬性值即可。

cascade表示級(jí)聯(lián)操作,在hibernate配置注解@OneToOne,@OneToMany,@ManyToMany,@ManyToOne中的屬性。

例如:

@ManyToOne(cascade = CascadeType.REFRESH, optional = true) 
@JoinColumn(name = "user_id", unique = false) 
private UserBaseInfo userBaseInfo; 

配置多種級(jí)聯(lián),例如:

@OneToOne(cascade = {CascadeType.REFRESH,CascadeType.PERSIST,CascadeType.MERGE}, optional = true) 
@JoinColumn(name = "user_id", unique = false) 
private UserBaseInfo userBaseInfo; 

CascadeType.PERSIST:級(jí)聯(lián)新增(又稱級(jí)聯(lián)保存):對(duì)order對(duì)象保存時(shí)也對(duì)items里的對(duì)象也會(huì)保存。對(duì)應(yīng)EntityManager的presist方法。

CascadeType.MERGE:級(jí)聯(lián)合并(級(jí)聯(lián)更新):若items屬性修改了那么order對(duì)象保存時(shí)同時(shí)修改items里的對(duì)象。對(duì)應(yīng)EntityManager的merge方法 。

CascadeType.REMOVE:級(jí)聯(lián)刪除:對(duì)order對(duì)象刪除也對(duì)items里的對(duì)象也會(huì)刪除。對(duì)應(yīng)EntityManager的remove方法。

CascadeType.REFRESH:級(jí)聯(lián)刷新:獲取order對(duì)象里也同時(shí)也重新獲取最新的items時(shí)的對(duì)象。對(duì)應(yīng)EntityManager的refresh(object)方法有效。即會(huì)重新查詢數(shù)據(jù)庫(kù)里的最新數(shù)據(jù)。

CascadeType.ALL:以上四種都是。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論