锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品视频在线,99久久99久久免费精品蜜臀,狠狠爱一区二区三区http://www.aygfsteel.com/chou/category/32794.htmlrecords of my java learning process zh-cnSun, 07 Sep 2008 13:57:15 GMTSun, 07 Sep 2008 13:57:15 GMT60Hibernate涓瀵瑰鍙屽悜鍏寵仈鍙?qiáng)inverse鐨勪綔鐢?杞?http://www.aygfsteel.com/chou/archive/2008/09/06/227398.htmlchouchouSat, 06 Sep 2008 06:41:00 GMThttp://www.aygfsteel.com/chou/archive/2008/09/06/227398.htmlhttp://www.aygfsteel.com/chou/comments/227398.htmlhttp://www.aygfsteel.com/chou/archive/2008/09/06/227398.html#Feedback0http://www.aygfsteel.com/chou/comments/commentRss/227398.htmlhttp://www.aygfsteel.com/chou/services/trackbacks/227398.html鍦ㄦ祴璇旽ibernate鐨勪竴瀵瑰鍙屽悜鍏寵仈鏄犲皠鏃訛紝紕板埌寰堟湁瓚g殑闂錛岃窡inverse灞炴х洿鎺ョ浉鍏熾?br style="line-height: normal" />
1銆丳eople.hbm.xml

錛渉ibernate-mapping default-lazy="false"錛?span class="Apple-converted-space"> 
錛渃lass name="com.persistent.People" table="people"錛?span class="Apple-converted-space"> 
錛渋d name="id" column="peopleId" unsaved-value="0"錛?span class="Apple-converted-space"> 
錛済enerator class="increment"錛?span class="Apple-converted-space"> 
錛?generator錛?span class="Apple-converted-space"> 
錛?id錛?span class="Apple-converted-space"> 
錛減roperty name="name" column="name"錛烇紲/property錛?span class="Apple-converted-space"> 
錛渟et name="addresses" cascade="save-update"錛?br style="line-height: normal" /> 錛渒ey column="peopleId" not-null="true" /錛?br style="line-height: normal" /> 錛渙ne-to-many class="com.persistent.Address"/錛?br style="line-height: normal" /> 錛?set錛?span class="Apple-converted-space"> 
錛?class錛?br style="line-height: normal" /> 錛?hibernate-mapping錛?br style="line-height: normal" />
2銆丄ddress.hbm.xml

錛渉ibernate-mapping錛?br style="line-height: normal" /> 錛渃lass name="com.persistent.Address" table="address"錛?span class="Apple-converted-space"> 
錛渋d name="id" column="addressId" unsaved-value="0"錛?br style="line-height: normal" /> 錛済enerator class="increment"錛?br style="line-height: normal" /> 錛?generator錛?br style="line-height: normal" /> 錛?id錛?span class="Apple-converted-space"> 
錛渕any-to-one name="people" column="peopleId" insert="false" update="false"錛烇紲/many-to-one錛?span class="Apple-converted-space"> 
錛減roperty name="addressName" column="addressName"錛烇紲/property錛?span class="Apple-converted-space"> 
錛減roperty name="codeNumber" column="codeNumber"錛烇紲/property錛?span class="Apple-converted-space"> 
錛?class錛?span class="Apple-converted-space"> 
錛?hibernate-mapping錛?br style="line-height: normal" /> 3銆丳eople.java鍜孉ddress.java

public class People ...{ 
private long id; 
private String name; 
private Set addresses = new HashSet(); 
...
}

public class Address ...{ 
private long id; 
private People people; 
private String addressName; 
private String codeNumber; 
...
} 

4銆佹暟鎹簱緇撴瀯

people琛細(xì){peopleId,name}

address琛細(xì){addressId,peopleId,addressName,codeNumber}

5銆佹祴璇曚唬鐮?br style="line-height: normal" />
People people = new People(); 
people.setName("linda"); 
Address address = new Address(); 
address.setAddressName("yunnan"); 
address.setCodeNumber("564123"); 
address.setPeople(people); 
people.getAddresses().add(address); 
Session session = HibernateSessionFactory.getSession(); 
session.beginTransaction(); 
session.save(people); 
session.getTransaction().commit(); 

6銆佽繍琛岀粨鏋?br style="line-height: normal" />
銆銆涓婇潰嫻嬭瘯浠g爜榪愯璧鋒潵姝g‘錛?br style="line-height: normal" />
Hibernate: select max(peopleId) from people
Hibernate: select max(addressId) from address
Hibernate: insert into people (name, peopleId) values (?, ?)
Hibernate: insert into address (addressName, codeNumber, peopleId, addressId) values (?, ?, ?, ?)
Hibernate: update address set peopleId=? where addressId=?

銆銆濡傛灉灝哖eople.hbm.xml鏄犲皠鏀瑰啓涓涓嬶細(xì)

錛渟et name="addresses" cascade="save-update" inverse="true"錛?br style="line-height: normal" /> 錛渒ey column="peopleId" not-null="true" /錛?br style="line-height: normal" /> 錛渙ne-to-many class="com.persistent.Address"/錛?br style="line-height: normal" /> 錛?set錛?br style="line-height: normal" />
銆銆涓嶅悓涔嬪鍦ㄤ簬娣誨姞浜?jiǎn)inverse="true"錛岀粨鏋滐細(xì)

Hibernate: select max(peopleId) from people
Hibernate: select max(addressId) from address
Hibernate: insert into people (name, peopleId) values (?, ?)
Hibernate: insert into address (addressName, codeNumber, addressId) values (?, ?, ?)

銆銆鍙互鐪嬪埌錛宲eopleId騫舵病鏈夊啓鍏ュ埌鍏寵仈鐨刟ddress褰撲腑錛屾暟鎹簱address琛ㄤ腑鐩稿簲璁板綍鐨刾eopleId瀛楁涓虹┖銆?br style="line-height: normal" />
7銆佸垎鏋?br style="line-height: normal" />
銆銆鍦℉ibernate涓紝鏈inverse鏄弽杞殑鎰忔濓紝鍦ㄥ叧鑱斿叧緋諱腑錛宨nverse="false"涓轟富鎺ф柟錛岀敱涓繪帶鏂硅礋璐g淮鎶ゅ璞$殑鍏寵仈鍏崇郴銆傛墍浠ヤ笂闈㈢殑鏄犲皠鏂囦歡鏀瑰姩涔嬪悗錛宎ddress涓轟富鎺ф柟錛宲eople涓鴻鎺ф柟錛屼絾鏄祴璇曚唬鐮佸彧榪涜浜?jiǎn)涓涓繚瀛樻搷浣渟ession.save(people)錛岃繖鏄拡瀵筽eople鐨勶紝鍥犳鏃犳硶姝g‘綰ц仈淇濆瓨address銆傝屽師鏉ョ殑鏄犲皠鏂囦歡涓紙铏界劧娌℃湁鏄庣‘鎸囨槑錛孒ibernate榛樿inverse="false"錛夛紝people涓轟富鎺ф柟錛屽洜姝や繚瀛榩eople鏃跺畠浼?xì)淇濊瘉鍏宠仈鐨刟ddress鐨勬紜繚瀛樸?br style="line-height: normal" />
銆銆涔熷氨鏄錛孒ibernate浠呬粎鎸夌収涓繪帶鏂瑰璞$殑鐘舵佺殑鍙樺寲鏉ュ悓姝ユ洿鏂版暟鎹簱銆傛寜鐓у師鏉ョ殑鏄犲皠鏂囦歡錛宲eople.getAddresses().add(address)錛屽嵆涓繪帶鏂瑰璞$殑鐘舵佸彂鐢熶簡(jiǎn)鏀瑰彉錛屽洜姝ゆ暟鎹簱浼?xì)璺熺潃瀵硅薄鐘舵佺殑鍙樺寲鏉ュ悓姝ユ洿鏂版暟鎹簱錛涜宎ddress.setPeople(people)錛屽嵆琚帶鏂瑰璞$殑鐘舵佸彂鐢熶簡(jiǎn)鏀瑰彉錛屽畠鏄笉鑳借Е鍙戝璞″拰鏁版嵁搴撶殑鍚屾鏇存柊鐨勩?/span>

chou 2008-09-06 14:41 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 涟水县| 临澧县| 如东县| 元氏县| 蓬莱市| 临清市| 平凉市| 府谷县| 司法| 呈贡县| 宜君县| 安乡县| 南丰县| 历史| 普定县| 庆安县| 酉阳| 淄博市| 绥阳县| 白山市| 宁南县| 丰县| 广东省| 礼泉县| 行唐县| 吉林省| 北流市| 都兰县| 高青县| 金溪县| 徐州市| 安吉县| 宁国市| 通化县| 锡林浩特市| 高要市| 景德镇市| 延寿县| 海兴县| 富宁县| 扶沟县|