Spring Data JPA中常用的注解詳解

好吧找岖!今天就來講下Spring Data JAP中的常用注解~~!先附上昨天的實體類代碼芥牌!

image

我們先看看類前面的兩個注解~!

@Entity

標識這個實體類是一個JPA實體峦椰,告訴JPA在程序運行的時候記得生成這個實體類所對應的表~失仁!

@Table(name = "自定義的表名")

自定義設置這個實體類在數(shù)據(jù)庫所對應的表名!

@Id

把這個類里面所在的變量設置為主鍵Id们何。

@GeneratedValue

設置主鍵的生成策略萄焦,這種方式依賴于具體的數(shù)據(jù)庫,如果數(shù)據(jù)庫不支持自增主鍵冤竹,那么這個類型是沒法用的拂封。

@Basic

表示一個簡單的屬性到數(shù)據(jù)庫表的字段的映射,對于沒有任何標注的getXxxx()方法,默認 即為 @Basic fetch: 表示該屬性的讀取策略,有EAGER和LAZY兩種,分別表示主支抓取和延遲加載,默認為EAGER.

@Column(name = "自定義字段名",length = "自定義長度"鹦蠕,nullable = "是否可以空"冒签,unique = "是否唯一",columnDefinition = "自定義該字段的類型和長度")

表示對這個變量所對應的字段名進行一些個性化的設置钟病,例如字段的名字萧恕,字段的長度,是否為空和是否唯一等等設置肠阱。

@Transient

表示該屬性并非一個到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性. 如果一個屬性并非數(shù)據(jù)庫表的字段映射,就務必將其標示為 @Transient ,否則,ORM框架默認其注 解為 @Basic對于昨天實踐的注解已經(jīng)解析完了啦票唆!那么今天為了接著對JPA表之間的各種關系的映射繼續(xù)實踐,我們再新建幾個實體類屹徘!接下來我們分別新建了
Author類走趋,Address類和Sex枚舉類來舉例完成實踐!
來我們先看看Author類

image

在這個類中我們使用并列舉了新的注解

@Temporal
image

當我們使用到java.util包中的時間日期類型噪伊,則需要@Temporal注釋來說明轉化成java.util包中的類型簿煌。其中包含三種轉化類型分別是:
java.sql.Date日期型,精確到年月日鉴吹,例如“2008-08-08”
java.sql.Time時間型姨伟,精確到時分秒,例如“20:00:00”
java.sql.Timestamp時間戳豆励,精確到納秒夺荒,例如“2008-08-08 20:00:00.000000001”

@Enumerated("需要定義存入數(shù)據(jù)庫的類型”)

使用@Enumerated映射枚舉字段,我這里為性別建立了性別的枚舉類型肆糕,而后面跟上的是存入數(shù)據(jù)庫以String類型存入般堆。

image
@Embedded和@Embeddable

當一個實體類要在多個不同的實體類中進行使用在孝,而本身又不需要獨立生成一個數(shù)據(jù)庫表诚啃,這就是需要使用@Embedded、@Embeddable的時候了私沮。

image

我們在Address里加上了@Embeddable這個注解表示始赎,Address這個類是一個可以被嵌套的類,而在Author類中,我們聲明了一個Address類型的變量address造垛,然后給它加上@Embedded注解魔招,意思是我們要在Author類嵌套Address類,當然這里涉及到一個生命周期的問題五辽。我們先看看生成的表再解析一下這個問題办斑!

image

當被引用的對象和主對象擁有相同的生命周期的時候才考慮使用@Embedded和@Embeddable。簡單的說就是Author類存在的時候才會有Address類杆逗,當Author類不存在的時候乡翅,對應Author類所以誕生的Address類也應該是不存在的。通俗的說就是作者存在的時候才會有這個作者的地址罪郊。而不會是有一個地址存在著卻沒有人屬于這個地址蠕蚜。而且內(nèi)嵌類會和主類生成一張表,所以內(nèi)嵌類對應主類應該是要唯一的和擁有相同生命周期的悔橄。
關于@Embedded和@Embeddable這里附上一個解析得更加詳盡的地址:http://blog.csdn.net/lmy86263/article/details/52108130

@ElementCollection

集合映射靶累,當實體類包含多個相同類型的變量的時候就可以使用@ElementCollection來聲明這個變量,而JPA會為此生成兩個關聯(lián)的表癣疟。例如一個人有家庭住址挣柬,也有單位地址;但是“地址”并不能失去人的存在而存在睛挚,所以是一個失去獨立性的實體類凛忿;所以地址不能映射為一個實體,這時就需要映射為組件竞川,及人的信息里邊包含地址店溢。是整體與部分的關系。但由于這個地址可能有多個委乌。比如公司地址床牧、出生地址、家庭地址等遭贸。

興趣表
地址表
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末戈咳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子壕吹,更是在濱河造成了極大的恐慌著蛙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耳贬,死亡現(xiàn)場離奇詭異踏堡,居然都是意外死亡,警方通過查閱死者的電腦和手機咒劲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門顷蟆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诫隅,“玉大人,你說我怎么就攤上這事帐偎≈鹞常” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵削樊,是天一觀的道長豁生。 經(jīng)常有香客問我,道長漫贞,這世上最難降的妖魔是什么沛硅? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮绕辖,結果婚禮上摇肌,老公的妹妹穿的比我還像新娘。我一直安慰自己仪际,他們只是感情好围小,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著树碱,像睡著了一般肯适。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上成榜,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天框舔,我揣著相機與錄音,去河邊找鬼赎婚。 笑死刘绣,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的挣输。 我是一名探鬼主播纬凤,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼撩嚼!你這毒婦竟也來了停士?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤完丽,失蹤者是張志新(化名)和其女友劉穎恋技,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逻族,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蜻底,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓷耙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朱躺。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搁痛,靈堂內(nèi)的尸體忽然破棺而出长搀,到底是詐尸還是另有隱情,我是刑警寧澤鸡典,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布源请,位于F島的核電站,受9級特大地震影響彻况,放射性物質發(fā)生泄漏谁尸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一纽甘、第九天 我趴在偏房一處隱蔽的房頂上張望良蛮。 院中可真熱鬧,春花似錦悍赢、人聲如沸决瞳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽皮胡。三九已至,卻和暖如春赏迟,著一層夾襖步出監(jiān)牢的瞬間屡贺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工锌杀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甩栈,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓糕再,卻偏偏與公主長得像谤职,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子亿鲜,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • @Entity 標識這個實體類是一個JPA實體允蜈,告訴JPA在程序運行的時候記得生成這個實體類所對應的表~! @Ta...
    Renky閱讀 10,547評論 0 6
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重復值時蒿柳,會觸發(fā)此異常饶套。 O...
    我想起個好名字閱讀 5,182評論 0 9
  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL垒探、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,429評論 0 4
  • 公交車外面突然閃現(xiàn)了這樣一個畫面 一個五六歲的小男孩 站在三輪車上 他的旁邊放著一個欄桿箱 小男孩面目非常清秀 前...
    子涵貝貝閱讀 112評論 0 1
  • 前不久妓蛮,人民日報發(fā)了一條微博講述一個10歲男孩想用8800元壓歲錢給自己的媽媽買鉆戒的事。 此條微博引起了大家的熱...
    靜待花再開閱讀 165評論 0 2