




已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Hibernate關(guān)聯(lián)關(guān)系映射配置2一、一對一單向外鍵關(guān)聯(lián):21.1目錄結(jié)構(gòu)21.2 Annotation方式21.3 XML方式41.4 Hibernate配置文件7二、一對一雙向外鍵關(guān)聯(lián)72.1 Annotation方式72.2 XML方式9三、一對一單向主鍵關(guān)聯(lián)(不重要)123.1 Annotation方式123.2 XML方式14四、一對一雙向主鍵關(guān)聯(lián)(不重要)164.1 Annotation方式163.2 XML方式19五、組件映射215.1 Annotation方式215.2 XML方式23六、多對一單向關(guān)聯(lián)256.1 Annotation方式256.2 XML方式27七、一對多單向關(guān)聯(lián)297.1 Annotation方式297.2 XML方式31八、一對多、多對一雙向關(guān)聯(lián)348.1 Annotation方式348.2 XML方式36九、多對多單向關(guān)聯(lián)398.1 Annotation方式398.2 XML方式41十、多對多雙向關(guān)聯(lián)448.1 Annotation方式448.2 XML方式46Hibernate關(guān)聯(lián)關(guān)系映射配置一、 一對一單向外鍵關(guān)聯(lián):1.1目錄結(jié)構(gòu)圖1-1 目錄結(jié)構(gòu)圖1.2 Annotation方式1.2.1 類圖圖1-2 類關(guān)聯(lián)關(guān)系圖1.2.2數(shù)據(jù)庫表結(jié)構(gòu)圖1-3數(shù)據(jù)庫表結(jié)構(gòu)圖1.2.3 實(shí)體類package com.rongqq.hibernate3.annotation.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToOne;import javax.persistence.SequenceGenerator;Entity(name=H_HUSBAND_)SequenceGenerator(name=husband_seq_gene, sequenceName=HUSBAND_SEQ, allocationSize=1)public class Husband private BigDecimal id;private String name;private Wife wife;IdColumn(precision=4, scale=0)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=husband_seq_gene)public BigDecimal getId() return id;Column(length=30)public String getName() return name;OneToOne/JoinColumn(name=wife_id)/不寫也沒問題,自動(dòng)生成的字段也叫wife_idpublic Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(Wife wife) this.wife = wife;package com.rongqq.hibernate3.annotation.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.SequenceGenerator;Entity(name=H_WIFE_)SequenceGenerator(name=wife_seq_gene, sequenceName=WIFE_SEQ)public class Wife private BigDecimal id;private String name;IdColumn(precision=4)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=wife_seq_gene)public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;Column(length=30)public String getName() return name;public void setName(String name) = name;1.3 XML方式1.3.1 類圖圖1-4 類關(guān)聯(lián)關(guān)系圖1.3.2 數(shù)據(jù)庫表結(jié)構(gòu)圖1-5數(shù)據(jù)庫表結(jié)構(gòu)圖1.3.3 實(shí)體類package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;public class XML_Husband private BigDecimal id;private String name;private XML_Wife wife;public BigDecimal getId() return id;public String getName() return name;public XML_Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(XML_Wife wife) this.wife = wife;package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;public class XML_Wife private BigDecimal id;private String name;public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;public String getName() return name;public void setName(String name) = name;1.3.4 對象關(guān)系映射文件H_STUDENT_SEQ_XML H_STUDENT_SEQ_XML 1.4 Hibernate配置文件oracle.jdbc.driver.OracleDriverjdbc:oracle:thin::1521:silencecnusercn8303061threadorg.hibernate.cache.NoCacheProvidertruetrueorg.hibernate.dialect.Oracle9Dialect!-update-二、一對一雙向外鍵關(guān)聯(lián)2.1 Annotation方式2.1.1 類圖圖2-1類關(guān)聯(lián)關(guān)系圖2.1.2 數(shù)據(jù)庫結(jié)構(gòu)圖圖2-2數(shù)據(jù)庫表結(jié)構(gòu)圖2.1.3 實(shí)體類Entity(name=H_HUSBAND_)SequenceGenerator(name=husband_seq_gene, sequenceName=HUSBAND_SEQ, allocationSize=1)public class Husband private BigDecimal id;private String name;private Wife wife;IdColumn(precision=4, scale=0)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=husband_seq_gene)public BigDecimal getId() return id;Column(length=30)public String getName() return name;OneToOne/JoinColumn(name=wife_id)/不寫也沒問題,自動(dòng)生成的字段也叫wife_idpublic Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(Wife wife) this.wife = wife;Entity(name=H_WIFE_)SequenceGenerator(name=wife_seq_gene, sequenceName=WIFE_SEQ)public class Wife private BigDecimal id;private String name;private Husband husband;IdColumn(precision=4)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=wife_seq_gene)public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;Column(length=30)public String getName() return name;public void setName(String name) = name;OneToOne(mappedBy=wife)public Husband getHusband() return husband;public void setHusband(Husband husband) this.husband = husband;2.2 XML方式2.2.1 類圖圖2-3 類關(guān)聯(lián)關(guān)系圖2.2.2 數(shù)據(jù)庫結(jié)構(gòu)圖2.2.3 實(shí)體類package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;public class XML_Husband private BigDecimal id;private String name;private XML_Wife wife;public BigDecimal getId() return id;public String getName() return name;public XML_Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(XML_Wife wife) this.wife = wife;package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;public class XML_Wife private BigDecimal id;private String name;private XML_Husband husband;public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;public String getName() return name;public void setName(String name) = name;public XML_Husband getHusband() return husband;public void setHusband(XML_Husband husband) this.husband = husband;2.2.4 對象關(guān)系映射文件H_STUDENT_SEQ_XML H_STUDENT_SEQ_XML 三、一對一單向主鍵關(guān)聯(lián)(不重要)3.1 Annotation方式3.1.1 類圖圖3-1 類關(guān)聯(lián)關(guān)系圖3.1.2 數(shù)據(jù)庫表結(jié)構(gòu)圖3-2 數(shù)據(jù)庫表結(jié)構(gòu)圖3.1.3 實(shí)體類package com.rongqq.hibernate3.annotation.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToOne;import javax.persistence.PrimaryKeyJoinColumn;import javax.persistence.SequenceGenerator;Entity(name=H_HUSBAND_)SequenceGenerator(name=husband_seq_gene, sequenceName=HUSBAND_SEQ, allocationSize=1)public class Husband private BigDecimal id;private String name;private Wife wife;IdColumn(precision=4, scale=0)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=husband_seq_gene)public BigDecimal getId() return id;Column(length=30)public String getName() return name;OneToOnePrimaryKeyJoinColumnpublic Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(Wife wife) this.wife = wife;package com.rongqq.hibernate3.annotation.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.SequenceGenerator;Entity(name=H_WIFE_)SequenceGenerator(name=wife_seq_gene, sequenceName=WIFE_SEQ)public class Wife private BigDecimal id;private String name;IdColumn(precision=4)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=wife_seq_gene)public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;Column(length=30)public String getName() return name;public void setName(String name) = name;注:只生成了表,但是沒有外鍵約束,具體實(shí)現(xiàn)還需要查找3.2 XML方式3.2.1 類圖圖3-3 類關(guān)聯(lián)關(guān)系圖3.2.2 數(shù)據(jù)庫表結(jié)構(gòu)圖3-4 數(shù)據(jù)庫表結(jié)構(gòu)圖3.2.3 實(shí)體類package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;public class XML_Husband private BigDecimal id;private String name;private XML_Wife wife;public BigDecimal getId() return id;public String getName() return name;public XML_Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(XML_Wife wife) this.wife = wife;package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;import com.rongqq.hibernate3.annotation.entity.Husband;public class XML_Wife private BigDecimal id;private String name;public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;public String getName() return name;public void setName(String name) = name;3.2.4 對象映射文件wife H_STUDENT_SEQ_XML 四、一對一雙向主鍵關(guān)聯(lián)(不重要)4.1 Annotation方式4.1.1 類圖圖4-1 類關(guān)聯(lián)關(guān)系圖4.1.2 數(shù)據(jù)庫表結(jié)構(gòu)圖4-2 數(shù)據(jù)庫表結(jié)構(gòu)圖4.1.3 實(shí)體類package com.rongqq.hibernate3.annotation.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToOne;import javax.persistence.PrimaryKeyJoinColumn;import javax.persistence.SequenceGenerator;Entity(name=H_HUSBAND_)SequenceGenerator(name=husband_seq_gene, sequenceName=HUSBAND_SEQ, allocationSize=1)public class Husband private BigDecimal id;private String name;private Wife wife;IdColumn(precision=4, scale=0)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=husband_seq_gene)public BigDecimal getId() return id;Column(length=30)public String getName() return name;OneToOnePrimaryKeyJoinColumnpublic Wife getWife() return wife;public void setId(BigDecimal id) this.id = id;public void setName(String name) = name;public void setWife(Wife wife) this.wife = wife;package com.rongqq.hibernate3.annotation.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToOne;import javax.persistence.PrimaryKeyJoinColumn;import javax.persistence.SequenceGenerator;Entity(name=H_WIFE_)SequenceGenerator(name=wife_seq_gene, sequenceName=WIFE_SEQ)public class Wife private BigDecimal id;private String name;private Husband husband;IdColumn(precision=4)GeneratedValue(strategy=GenerationType.SEQUENCE, generator=wife_seq_gene)public BigDecimal getId() return id;public void setId(BigDecimal id) this.id = id;Column(length=30)public String getName() return name;public void setName(String name) = name;OneToOnePrimaryKeyJoinColumnpublic Husband getHusband() return husband;public void setHusband(Husband husband) this.husband = husband;注:同樣不產(chǎn)生關(guān)聯(lián)關(guān)系,具體實(shí)現(xiàn)待查3.2 XML方式4.2.1 類圖圖4-3 類關(guān)聯(lián)關(guān)系圖4.2.2 數(shù)據(jù)庫表結(jié)構(gòu)圖4-4 數(shù)據(jù)庫表結(jié)構(gòu)圖4.2.3 實(shí)體類package com.rongqq.hibernate3.xml.entity;import java.math.BigDecimal;public class XML_Husband private BigDecimal id;private String name;private XML_Wife wife;public BigDecimal getId() return id;public String getName() return name;public XML_Wife getWife() return wife
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級(jí)物理上《光的直線傳播》教學(xué)設(shè)計(jì)
- 城管年終總結(jié)模版
- 護(hù)理中級(jí)評聘
- 小米3小米電視發(fā)布會(huì)課件
- 中醫(yī)情志護(hù)理理論與實(shí)踐
- 中級(jí)會(huì)計(jì)知識(shí)點(diǎn)總結(jié)模版
- 流動(dòng)超市商業(yè)計(jì)劃書-超市便利店
- 電視產(chǎn)品培訓(xùn)
- 關(guān)愛健康 預(yù)防傳染病
- 永康國企面試題及答案
- 2025年全國保密教育線上培訓(xùn)考試試題庫含完整答案(各地真題)附答案詳解
- 財(cái)務(wù)公司調(diào)賬合同協(xié)議
- 2025-2030工業(yè)燃?xì)馊紵餍袠I(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報(bào)告
- 配送公司車輛管理制度
- 廣西壯族自治區(qū)2025年4月高三畢業(yè)班診斷學(xué)考試物理試卷及答案(廣西三模)
- 2025-2030中國建筑裝配行業(yè)發(fā)展分析及競爭格局與發(fā)展趨勢預(yù)測研究報(bào)告
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園入園合同
- 第六單元《軍民團(tuán)結(jié)一家親》課件 中學(xué)音樂人音版七年級(jí)下冊
- 做情緒的主人培訓(xùn)課件
- 農(nóng)業(yè)灌溉設(shè)施設(shè)備采購及安裝合同
- 銀行消防安全知識(shí)培訓(xùn)
評論
0/150
提交評論