




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java hibernate注解簡(jiǎn)單使用前提:這篇對(duì)hibernate的注解的一些參數(shù)的介紹的不是很不全(通常只是介紹例子中給出的注解解析),要更完整的了解其中一個(gè)注解可以再繼續(xù)查詢這個(gè)注解。 這篇更多的是我自己學(xué)hibernate的總結(jié),然后把注解列舉一下,方便查找。映射實(shí)體類例子一般文件類DefaultFileMappedSuperclassInheritance(strategy = InheritanceType.TABLE_PER_CLASS)public class DefaultFile / Fields Id Column(name = "id",
2、 insertable = false, updatable = false) GeneratedValue(strategy=GenerationType.IDENTITY) private int id; Column(name = "name") private String name; Column(name = "path") private String path; Column(name = "note") private String note; Column(name = "uploadDate"
3、, insertable = false, updatable = false) private Timestamp uploadDate; /* * 文件內(nèi)容,不被映射成column */ Transient File file; .圖片文件類ImageFileEntityTable(name = "imageFile")public class ImageFile extends DefaultFile OneToMany(cascade = CascadeType.ALL,mappedBy="imagefile",fetch = FetchType
4、.LAZY) private Set<Account> accounts = new HashSet<Account>(); .賬戶類AccountEntityTable(name="account")public class Account / Fields Id Column(insertable=false,updatable=false) GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; ManyToOne(fetch=FetchType.EAGER,ca
5、scade=CascadeType.ALL) JoinColumn(name="imageID") /頭像 private ImageFile imagefile; Column private String name; Column private String password; Column(insertable=false,updatable=false) private Timestamp createdDate; .Entity作用:標(biāo)記為實(shí)體類,標(biāo)記后都會(huì)被映射到數(shù)據(jù)表中用法:一般實(shí)體類都要加上這個(gè)注釋MappedSuperclass作用:表明該類作為父類被其
6、他實(shí)體類繼承后,其它實(shí)體類可以繼承該類的屬性,并且結(jié)合各子類各自映射對(duì)應(yīng)的表,然后改父類不映射到數(shù)據(jù)庫(kù)表用法:這個(gè)和上面的Entity可以說二者只能選其一,如果選擇MappedSuperclass則不映射表,如果用Entity則會(huì)映射到表結(jié)合例子:例子中DefaultFile被注解為MappedSuperclass,因此DefaultFile不會(huì)被映射到表,而ImageFile繼承DefaultFile,因此ImageFile會(huì)繼承DefaultFile的屬性,加上自己的屬性,映射到新表Inheritance作用:定義繼承的策略用法:Inheritance(strategy = Inherit
7、anceType.TABLE_PER_CLASS) 上面的InheritanceType.TABLE_PER_CLASS是指每個(gè)子類都成為一個(gè)新表,還有以下的繼承策略(看名字就大概知道意思了): Table作用:用來標(biāo)記該實(shí)體類映射到數(shù)據(jù)庫(kù)中的表的表名用法:可添加參數(shù)來說明表名Table(name=”table_name”)Id作用:說明該屬性為主鍵GeneratedValue作用:表明該列為自動(dòng)增長(zhǎng)的屬性用法:GeneratedValue(strategy=GenerationType.IDENTITY) 其中strategy指自動(dòng)增長(zhǎng)的策略,而這個(gè)Genera
8、tionType.IDENTITY是指數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),相當(dāng)于MySQL中auto_increment,還有其它屬性: Column作用:指明該列的屬性用法:Column(name = “uploadDate”, insertable = false, updatable = false)name = “column_name”指明列名insertable=false插入操作時(shí)忽略該屬性u(píng)pdatable=false更新 操作時(shí)忽略該屬性O(shè)neToMany作用:表名一對(duì)多的關(guān)系,通常用于Set<T>變量用法:OneToMany(cascade = CascadeType.A
9、LL = CascadeType.ALL,mappedBy=”imagefile”,fetch = FetchType.LAZY)cascade = CascadeType.ALL在所有操作上都進(jìn)行關(guān)聯(lián)操作 mappedBy=”imagefile”如果這個(gè)一對(duì)多的關(guān)系不是通過第三張表來維持,而是多方保存一方的id(多方外鍵引用一方),則必須要有mappedBy來指明多方中哪個(gè)變量來保存一方(外鍵),值是多方里面保存一方的屬性名字,具體可看例子中的使用fetch=FetchType.EAGER加載的策略,有積極和懶惰,積極是指用查詢語(yǔ)句獲取對(duì)象時(shí),馬上加載標(biāo)記為OneToMany的變量,懶惰則是等到使用時(shí)才獲取。ManyToOne作用:表名一對(duì)多的關(guān)系,通常用在對(duì)應(yīng)的一方類的一個(gè)變量用法:ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL) 屬性和OneToMany的基本差不多。但是如果這個(gè)多對(duì)一的關(guān)系不是通過第三張表來維持,而是保存在多方的表中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年VB考試高級(jí)題目及試題及答案
- 火災(zāi)應(yīng)急預(yù)案培訓(xùn)制度(3篇)
- 2025年法學(xué)概論考試的知識(shí)掌握方式與試題及答案
- 2025年科技進(jìn)步對(duì)戰(zhàn)略影響試題及答案
- 行政法與社會(huì)資本的關(guān)系探討試題及答案
- 2025年信息技術(shù)應(yīng)用能力試題及答案
- 2025年法學(xué)概論的實(shí)務(wù)考察及試題及答案
- 行政法學(xué)重要時(shí)事考題及答案
- 開源軟件項(xiàng)目2025年考試試題及答案
- 2025年網(wǎng)絡(luò)管理資格考核試題及答案
- 2025年合肥交通投資控股集團(tuán)有限公司第一批次招聘38人筆試參考題庫(kù)附帶答案詳解
- 中國(guó)低空經(jīng)濟(jì)發(fā)展指數(shù)報(bào)告(2025版)
- 禁毒社工考試試題及答案
- 裝卸服務(wù)外包協(xié)議書范本
- 2025年鄉(xiāng)村振興戰(zhàn)略相關(guān)考試試題及答案
- 2025防撞緩沖車標(biāo)準(zhǔn)
- 廉潔課件教學(xué)課件
- 2024-2025學(xué)年全國(guó)版圖知識(shí)競(jìng)賽(小學(xué)組)考試題庫(kù)(含答案)
- 幼兒園管理 試題及答案
- 江蘇省南京市、鹽城市2025屆高三年級(jí)5月第二次模擬考試英語(yǔ)試題及答案(南京鹽城二模)
- 《公共資源交易法規(guī)概要》課件
評(píng)論
0/150
提交評(píng)論