亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Hibernate 注解

2019-11-10 17:43:53
字體:
來源:轉載
供稿:網友

Hibernate 注解

本文由Hibernate注解版關聯關系映射全解析+案例修改而來. 1、@Entity(name=”EntityName”) 必須,name為可選,對應數據庫中一的個表,此處的EntryName要注意,在代碼中使用hql進行查詢時,需要from Xxx,那么Xxx就是對應的此處的EntryName,所以要注意EntryName的命名,否則會出現映射問題。 2、@Table(name=”“,catalog=”“,schema=”“) 可選,通常和@Entity配合使用,只能標注在實體的class定義處,表示實體對應的數據庫表的信息

name:可選,表示表的名稱。默認地,表名和實體名稱一致,只有在不一致的情況下才需要指定表名 catalog:可選,表示Catalog名稱。默認為Catalog(“”) schema:可選,表示Schema名稱。默認為Schema(“”)

3、@id 必須

@id定義了映射到數據庫表的主鍵的屬性,一個實體只能有一個屬性被映射為主鍵。置于getXxxx()前

4、@GeneratedValue(strategy=GenerationType,generator=”“) 可選

strategy:表示主鍵生成策略,有AUTO、INDENTITY、SEQUENCE和 TABLE 4種,分別表示讓ORM框架自動選擇、根據數據庫的Identity字段生成、根據數據庫表的Sequence字段生成、以及根據一個額外的表生成主鍵。默認為AUTO

generator:表示主鍵生成器的名稱,這個屬性通常和ORM框架相關。例如,Hibernate可以指定uuid等主鍵生成方式

示例:

@Id @GeneratedValues(strategy=StrategyType.SEQUENCE) public int getPk() { return pk; }

5、@Basic(fetch=FetchType,optional=true) 可選

@Basic表示一個簡單的屬性到數據庫表的字段的映射,對于沒有任何標注的getXxxx()方法。默認即為@Basic

fetch:表示該屬性的讀取策略,有EAGER和LAZY兩種,分別表示主支抓取和延遲加載。默認為EAGER optional:表示該屬性是否允許為null,默認為true 示例:

@Basic(optional=false) public String getAddress() { return address; }

6、@Column 可選

@Column描述了數據庫表中該字段的詳細定義,這對于根據JPA注解生成數據庫表結構的工具非常有作用 name:表示數據庫表中該字段的名稱。默認情形屬性名稱一致 nullable:表示該字段是否允許為null。默認為true unique:表示該字段是否是唯一標識。默認為false length:表示該字段的大小,僅對String類型的字段有效 insertable:表示在ORM框架執行插入操作時,該字段是否應出現INSETRT語句中。默認為true updateable:表示在ORM框架執行更新操作時,該字段是否應該出現在UPDATE語句中,默認為true。對于一經創建就不可以更改的字段,該屬性非常有用,如對于birthday字段 columnDefinition:表示該字段在數據庫中的實際類型。通常ORM框架可以根據屬性類型自動判斷數據庫中字段的類型,但是對于Date類型仍無法確定數據庫中字段類型究竟是DATE、TIME還是TIMESTAMP。此外,String的默認映射類型為VARCHAR,如果要將String類型映射到特定數據庫的BLOB或TEXT字段類型,該屬性非常有用 示例:

@Column(name="BIRTH",nullable="false",columnDefinition="DATE") public String getBithday() { return birthday; }

7、@Transient 可選

@Transient表示該屬性并非一個到數據庫表的字段的映射,ORM框架將忽略該屬性

如果一個屬性并非數據庫表的字段映射,就務必將其標示為@Transient,否則,ORM框架默認其注解為@Basic

示例:

//根據birth計算出age屬性 @Transient public int getAge() { return getYear(new Date()) -getYear(birth); }

8、@ManyToOne(fetch=FetchType,cascade=CascadeType) 可選

@ManyToOne表示一個多對一的映射,該注解標注的屬性通常是數據庫表的外鍵

optional:是否允許該字段為null,該屬性應該根據數據庫表的外鍵約束來確定,默認為true fetch:表示抓取策略,默認為FetchType.EAGER cascade:表示默認的級聯操作策略,可以指定為ALL、PERSIST、MERGE、REFRESH和REMOVE中的若干組合,默認為無級聯操作 targetEntity:表示該屬性關聯的實體類型,該屬性通常不必指定,ORM框架根據屬性類型自動判斷targetEntity

示例:

//訂單Order和用戶User是一個ManyToOne的關系 //在Order類中定義 @ManyToOne() @JoinColumn(name="USER") public User getUser() { return user; }

9、@JoinColumn 可選

@JoinColumn和@Column類似,介量描述的不是一個簡單字段,而是一個關聯字段,例如,描述一個@ManyToOne的字段.

name:該字段的名稱,由于@JoinColumn描述的是一個關聯字段,如ManyToOne,則默認的名稱由其關聯的實體決定.

例如,實體Order有一個user屬性來關聯實體User,則Order的user屬性為一個外鍵

其默認的名稱為實體User的名稱+下劃線+實體User的主鍵名稱

示例:

見@ManyToOne

10、@OneToMany(fetch=FetchType,cascade=CascadeType) 可選

@OneToMany描述一個一對多的關聯,該屬性應該為集體類型,在數據庫中并沒有實際字段

fetch:表示抓取策略,默認為FetchType.LAZY,因為關聯的多個對象通常不必從數據庫預先讀取到內存 cascade:表示級聯操作策略,對于OneToMany類型的關聯非常重要,通常該實體更新或刪除時,其關聯的實體也應當被更新或刪除

例如:實體User和Order是OneToMany的關系,則實體User被刪除時,其關聯的實體Order也應該被全部刪除

示例:

@OneTyMany(cascade=ALL) public List getOrders() { return orders; }

11、@OneToOne(fetch=FetchType,cascade=CascadeType) 可選

@OneToOne描述一個一對一的關聯

fetch:表示抓取策略,默認為FetchType.LAZY

cascade:表示級聯操作策略

示例:

@OneToOne(fetch=FetchType.LAZY) public Blog getBlog() { return blog; }

12、@ManyToMany 可選

@ManyToMany描述一個多對多的關聯,多對多關聯上是兩個一對多關聯,但是在ManyToMany描述中,中間表是由ORM框架自動處理

targetEntity:表示多對多關聯的另一個實體類的全名,例如:package.Book.class

mappedBy:表示多對多關聯的另一個實體類的對應集合屬性名稱

13、@MappedSuperclass 可選

@MappedSuperclass可以將超類的JPA注解傳遞給子類,使子類能夠繼承超類的JPA注解

示例:

@MappedSuperclass public class Employee() { .... } @Entity public class Engineer extends Employee { ..... } @Entity public class Manager extends Employee { ..... }

14、@Embedded

可選

@Embedded將幾個字段組合成一個類,并作為整個Entity的一個屬性

例如User包括id、name、city、street、zip屬性

我們希望city、street、zip屬性映射為Address對象。這樣,User對象將具有id、name和address這三個屬性.

Address對象必須定義為@Embededable

示例:

@Embeddable public class Address {city,street,zip} @Entity public class User { @Embedded public Address getAddress() { .......... }

快捷鍵

加粗 Ctrl + B 斜體 Ctrl + I 引用 Ctrl + Q插入鏈接 Ctrl + L插入代碼 Ctrl + K插入圖片 Ctrl + G提升標題 Ctrl + H有序列表 Ctrl + O無序列表 Ctrl + U橫線 Ctrl + R撤銷 Ctrl + Z

- 重做 Ctrl + Y


上一篇:chroot exec

下一篇:P1047 校門外的樹

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久6精品影院| 国产精品免费久久久久影院| 日本精品视频网站| 欧美激情性做爰免费视频| 欧美综合国产精品久久丁香| 欧美在线亚洲在线| 91精品国产91久久久久久| 日韩av在线网站| 在线观看欧美www| 宅男66日本亚洲欧美视频| 欧美性猛交xxxx乱大交| 久久久久国产精品免费网站| 日韩免费在线看| 色无极影院亚洲| 久久精彩免费视频| 在线观看精品自拍私拍| 欧美大学生性色视频| 日韩在线播放一区| 孩xxxx性bbbb欧美| 91av视频在线观看| 夜夜狂射影院欧美极品| 久久精品视频一| 丝袜亚洲另类欧美重口| 欧美激情一级欧美精品| www.亚洲成人| 日韩精品中文字幕久久臀| 日韩成人av在线播放| 国产欧美中文字幕| 亚洲精品久久久久久久久久久久| 久久在精品线影院精品国产| www.欧美精品一二三区| 国产精品日本精品| 久久久亚洲国产| 亚洲综合精品伊人久久| 日韩av综合中文字幕| 麻豆乱码国产一区二区三区| 国产综合色香蕉精品| 久久精品国产精品| 日韩激情视频在线| 久久国产色av| 中文字幕亚洲在线| 欧美日韩午夜激情| 国产综合福利在线| 欧美特级www| 成人日韩在线电影| 国产性色av一区二区| 欧美大片免费观看| 色中色综合影院手机版在线观看| 亚洲精品99久久久久| 欧美wwwxxxx| 亚洲www永久成人夜色| 亚洲男子天堂网| 黑人欧美xxxx| 97热精品视频官网| 久久久国产一区二区| 国产精品爽黄69| 国产欧美在线观看| 国语自产精品视频在线看一大j8| 国产成人jvid在线播放| 日韩亚洲欧美成人| 日韩精品在线观看视频| 国产精品一久久香蕉国产线看观看| 久久综合久久88| 国产精品露脸自拍| 九九热视频这里只有精品| 久久五月情影视| 日av在线播放中文不卡| 亚洲最大av网| 国产在线观看精品| 欧美日韩成人在线视频| 国产欧美一区二区三区四区| 午夜精品视频网站| 欧美在线视频一区| 日本成人精品在线| 欧美视频一区二区三区…| 国模吧一区二区| 色综合91久久精品中文字幕| 日韩精品在线免费观看| 亚洲精品99久久久久| 色青青草原桃花久久综合| 久久久久久久久久久国产| 中文字幕在线看视频国产欧美在线看完整| 成人黄色短视频在线观看| 亚洲一区二区三区在线视频| 中文字幕成人精品久久不卡| 久久精品久久精品亚洲人| 国内精品美女av在线播放| 亚洲成人av中文字幕| 亚洲精品久久久久中文字幕欢迎你| 国产色婷婷国产综合在线理论片a| 亚洲无亚洲人成网站77777| 久久精视频免费在线久久完整在线看| 精品久久久久久亚洲精品| 国产91色在线|| 欧美性猛交丰臀xxxxx网站| 中文字幕在线国产精品| 亚洲精品永久免费精品| 亚洲成人999| 精品国产31久久久久久| 久久久久久91香蕉国产| 久久久人成影片一区二区三区| 91精品久久久久久久久久| 国产亚洲精品久久久优势| 欧美性猛交xxxx乱大交蜜桃| 91美女高潮出水| 国产aaa精品| 精品人伦一区二区三区蜜桃网站| 最近2019中文字幕mv免费看| 欧美激情亚洲综合一区| 欧美成人午夜激情在线| 欧美影院久久久| 亚洲精品一区二区三区婷婷月| 大荫蒂欧美视频另类xxxx| 欧美又大粗又爽又黄大片视频| 国产精品99蜜臀久久不卡二区| 国产拍精品一二三| 日韩av网址在线观看| 国产精品入口日韩视频大尺度| 国产激情久久久久| 欧美成人三级视频网站| 国产精品久久久久久久久久99| 日韩二区三区在线| 国产成人小视频在线观看| 亚洲欧美另类在线观看| 北条麻妃一区二区在线观看| 欧美性做爰毛片| 欧美黑人xxxⅹ高潮交| www日韩中文字幕在线看| 992tv在线成人免费观看| 菠萝蜜影院一区二区免费| 69**夜色精品国产69乱| 国产精品a久久久久久| 久久精品影视伊人网| 日韩精品中文字| 中文字幕亚洲字幕| 欧美丝袜美女中出在线| 91精品成人久久| 亚洲区中文字幕| 一区二区三区视频免费| 国产欧美日韩丝袜精品一区| 97视频国产在线| 成人免费大片黄在线播放| 国产不卡一区二区在线播放| 亚洲国产精品久久精品怡红院| 尤物精品国产第一福利三区| 亚洲老板91色精品久久| 日韩中文字在线| 国产精品久久999| 成人免费在线视频网站| 国产精品入口免费视频一| 91在线中文字幕| 日韩欧美中文免费| 欧美激情亚洲一区| 国色天香2019中文字幕在线观看| 国产精品18久久久久久麻辣| 日韩一级黄色av| 中文亚洲视频在线| 538国产精品一区二区在线| www.欧美三级电影.com| 日韩少妇与小伙激情| 91精品综合久久久久久五月天| 26uuu另类亚洲欧美日本一| 精品一区二区电影| 琪琪亚洲精品午夜在线|