锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鎬葷殑鏉ヨ鏈夊洓縐嶆柟寮忥紝鎴戝皢鎰忎箟鐨勫湪鏈墖鏂囩珷涓粙緇?/span>
涓錛氫互涓婚敭鍏寵仈
姒傚康錛氬叧鑱旂殑涓や釜瀹炰綋鍏變韓涓涓富閿?br /> 渚嬪鎴戜滑寤虹珛涓や釜琛紝鍒嗗埆涓簎ser id pk,name,password
userinfor id pk,email,age,address
user鍜寀serinfor鍏變韓涓涓富閿甶d錛屽茍涓斾袱涓〃鏄竴瀵逛竴鍏崇郴錛岄偅涔堝浣曡涓涓〃寮曠敤鍙︿竴涓〃鐢熸垚鐨勪富閿偅錛熸垜浠彲浠ョ敤hibernate鐨勪富閿甪oreign鏈哄埗鐢熸垚銆?/span>
鎴戜滑鍏堢湅鐪媢ser.hbm.xml鏂囦歡
.......
<hibernate-mapping>
<class name="model.User" lazy="true">
<id name="id" unsaved-value="null">
<generator class="uuid.hex"/>
</id>
<property name="name" type="string"/>
<property name="password" type="string"/>
<one-to-one name="userinfor"
class="model.Userinfor"
fetch="join"
cascade="all"
/>
</class>
<hibernate-mapping>
.......
one-to-one鐨勫睘鎬ascade=all琛ㄧずuser鐨勫鍒犳敼鎿嶄綔涔熶細鍙嶆槧鍦╱serinfor瀵硅薄褰撲腑銆傛垜浠啀鐪嬬湅userinfor.hbm.xml鏂囦歡.
<hibernate-mapping>
<id name="id">
<generator name="foreign">
<param name="property">user</param>
</generator>
</id>
<property name="email" column="email" type="string"/>
<property name="age" column="age" type="int"/>
<property name="address" column="address" type="string"/>
<one-to-one name="user"
class="model.User"
constrained="true"<!-寮曠敤user鐨勪富閿甶d涓哄閿?->
/>
</hibernate-mapping>
璁╂垜浠湅鐪媕ava鐨勪唬鐮佺墖孌?br />
.....
User user=new User();
user.setName("name");
user.setPassword("pass");
Userinfor u=new Userinfor();
u.setEmail("email");
u.setAge(11);
u.setAddress("address");
user.setUserinfor(u);
u.setUser(user);
DAO.saveObj(user);
鏈鍚庢墦寮浣犵殑鏁版嵁搴撴棫鍙互鐪嬪埌緇撴灉浜嗐?/span>
浜岋紝涓瀵逛竴浠ュ閿叧鑱?/span>
浠ュ閿叧鑱旂殑姒傚康錛氫袱涓疄浣撳悇鑷湁涓嶅悓鐨勪富閿紝浣嗘槸涓涓疄浣撴湁涓涓閿紩鐢ㄥ彟涓涓疄浣撶殑涓婚敭銆備緥濡傦細
琛?user id pk,name,passeword
userinfor id pk,uid fk,infor
鍏堢湅user.hbm.xml
......
<hibernate-mapping>
<class name="user" table="user" lazy="true">
<id name="id" unsaved-value="null">
<generator class="uuid.hex"/>
</id>
<property name="name" type="string"/>
<property name="password" type="string"/>
<one-to-one name="userinfor"
class="model.Userinfor"
fetch="join"
cascade="all"
/>
</class>
</hibernate-mapping>
鍙互鐪嬪埌榪欎釜鍚屾垜浠涓嬈$敤鍒扮殑涓鏍峰晩
鐒跺悗鎴戜滑鐪嬬湅userinfor.hbm.xml鐨勭粨鏋?br /> .....
<hibernate-mapping>
<class name="userinfor" table="userinfor" lazy="true">
<id name="id">
<generator class="uuid.hex"/>
</id>
<property name="infor" column="infor" type="string"/>
<many-to-one name="user"
class="model.User"
unique="true"
<!-鍞竴鐨勫瀵逛竴錛屽叾瀹炲氨渚挎垚浜嗕竴瀵逛竴浜?->
columnn="uid"
/>
</class>
</hibernate-mapping>
浠ュ閿叧鑱旂殑涓瀵逛竴錛屽叾瀹炲氨鍙樻垚浜嗕竴瀵瑰鐨勫弻鍚戝叧鑱旓紝緙栧啓鏃剁洿鎺ユ寜鐓т竴瀵瑰鍜屽瀵逛竴鐨勮姹傜紪鍐欙紝鏈鍚庡湪many-to-one鍔犱笂unique='true'鍗沖彲璇存槑浠栧彧涓嶈繃鏄竴瀵瑰鍏崇郴鐨勪竴涓壒渚嬨傜紪鍐檍ava浠g爜錛?br /> .......
User u=new User();
u.setName("name");
u.setPassword("password");
Userinfor ui=new Userinfor();
ui.setInfor("infor");
u.setUserinfor(ui);
ui.setUser(u);
DAO.saveObj(u);
......
涓夛細榛樿鐨勭駭榪炲叧緋?/span>
涓瀵瑰榛樿綰ц繛鍏崇郴涓洪鍏堟姄鍙栵紝鑰屼竴瀵瑰錛屽瀵瑰閮芥槸绔嬪嵆鍔犺澆
鐪嬬湅user.hbm.xml
<one-to-one name="userinfor"
class="model.Userinfor"
cascade="all"/>
浠ヤ笂鎴戜滑騫舵病鏈夋樉紺虹殑璁劇疆綰ц繛鍏崇郴銆傝繖鏍峰湪鍙栫殑userinfor鏃跺皢鐢ㄩ粯璁ょ殑綰ц繛鍏崇郴銆?br /> .....
User u=(User)DAO.getByid(User.class,"瀛楃絀匡紝鐩稿綋浜巜here id='姝ゅ?");
鍥涳細寤惰繜鍔犺澆
涓瀵逛竴鍏崇郴榪涜寤惰繜鍔犺澆鏃朵笌鍏朵粬鍏崇郴涓嶅悓錛屽瀵逛竴鏄湪class鏍囩涓緗甽azy='true'錛屼竴瀵瑰鍜屽瀵瑰鏄湪set鏍囩涓緗甽azy=”true“錛岃屼竴瀵逛竴鍒欏湪class鏍囩褰撲腑璁劇疆lazy='true'騫朵笖鍦╫ne-to-one鏍囩褰撲腑璁劇疆constrained='true'銆?br /> .....
<hibernate-mapping>
<class name="model.User" table="user">
<one-to-one name="userinfor"
class="model.Userinfor"
contrained="true"
cascade="all"
/>
</class>
</hibernate-mapping>
java浠g爜
...
User u=(User)DAO.getByid(User.class,"id");
.....
嬈′唬鐮佸彧鏄姞杞戒簡user瀵硅薄錛岃屾病鏈夊姞杞絬serinfor瀵硅薄錛岃屼笖蹇界暐浜嗛粯璁ょ殑棰勫厛鎶撳彇錛岋紙榪欐槸榛樿鐨勶紝鍙湁鏄劇ず鐨勬寚瀹歠atch='true'鏃舵墠閲囩敤棰勫厛鎶撳彇鐨勶級
瀹?/span>