cascade灞炴у茍涓嶆槸澶氬澶氬叧緋諱竴瀹氳鐢ㄧ殑錛屾湁浜嗗畠鍙槸璁╂垜浠湪鎻掑叆鎴栧垹闄ゅ鍍忔椂鏇存柟渚夸竴浜涳紝鍙鍦╟ascade鐨勬簮澶翠笂鎻掑叆鎴栨槸鍒犻櫎錛屾墍鏈塩ascade鐨勫叧緋誨氨浼?xì)琚嚜宸卞姩鐨勬彃鍏ユ垨鏄垹闄ゃ?br />涓轟簡鑳芥紜殑cascade錛寀nsaved-value鏄釜寰堥噸瑕佺殑灞炴с侶ibernate閫氳繃榪欎釜灞炴ф潵鍒ゆ柇涓涓璞″簲璇ave榪樻槸update錛屽鏋滆繖涓璞$殑id鏄痷nsaved-value鐨勮瘽錛岄偅璇存槑榪欎釜瀵硅薄涓嶆槸persistence object瑕乻ave錛坕nsert)錛涘鏋渋d鏄潪unsaved-value鐨勮瘽錛岄偅璇存槑榪欎釜瀵硅薄鏄痯ersistence object錛堟暟鎹簱涓凡瀛樺湪錛夛紝鍙update灝辮浜嗐俿aveOrUpdate鏂規(guī)硶鐢ㄧ殑涔熸槸榪欎釜鏈哄埗銆?br />濡倁nsaved-value="0"錛岄偅褰撹鍊間負(fù)0鏃訛紝hibernate鍗沖垽鏂叾涓烘湭瀛樺偍鐨勫鍍忥紝褰撴墽琛宻aveOrUpdate鏃訛紝瀹為檯鎵ц鐨勬槸save浜嗐?br />In Hibernate3, it is no longer necessary to specify an unsaved-value explicitly. 涓嶈繃鍦╤ibernate3涓垜浠笉闇瑕佹樉紺虹殑鍘繪寚瀹氫粬錛宧iberante浼?xì)鑷姩宸埆鍑鸿瀵瑰儚鏄惁鏄栴C駭鐢熺殑瀵硅薄銆?br /> inverse緲昏瘧涓?鍊掕漿鐨? 鍙嶈漿鐨勩備粬灞炰簬鍏崇郴鍜屽璞$殑綰ц仈鍏崇郴錛岄粯璁ゆ椂涓篺alse,錛屽氨鏄鍏崇郴鐨勪袱绔兘鏉ョ淮鎶ゅ叧緋?濡傛灉涓杈硅涓簍rue錛岄偅琛ㄧず浠栦滑涔嬮棿鐨勫叧緋葷敱瀵規(guī)柟鏉ョ淮鎶ゃ?br />姣斿涓婇潰鐨勪緥瀛愶紝鎴戜滑璁緍ole鐨刬nverse涓簍rue,鍗充粬浠殑鍏崇郴鏈塯roup鏉ョ淮鎶ゃ?br />GroupInfo group = new GroupInfo(); group.setName("admin"); RoleInfo role = new RoleInfo(); role.setName("acl"); group.addRole(role); save(group); 鎵ц瀹岃繖浜涙搷浣滃悗錛宧ibernate浼?xì)鑷姩淇濆瓨group,role錛岃嫢鍙嶄箣錛屽垯鍙細(xì)淇濆瓨role.