Hibernate註解整理筆記

2021-06-19 08:14:44 字數 1871 閱讀 2787

《常用註解》

@temporal(temporaltype.date) :指定日期時間的型別

@transient:指定屬性不需要對映

@batch :批量操作

指定主鍵並自增

<1>、@generatedvalue(strategy = generationtype.sequence, generator = "gen")

@sequencegenerator(name = "gen", sequencename = "seqcarid", initialvalue = 1, allocationsize = 1)

<2>、@id

@generatedvalue(generator="gen")

@genericgenerator(strategy="uuid", name="gen")

//新增快取機制

:region:尋找快取名; usage(必須)說明了快取的策略

@cache(region="samplecache1",usage=cacheconcurrencystrategy.read_write)

@version對映版本號屬性,用於樂觀鎖

@column指定屬性對應的資訊

<1>一對一單向外來鍵(annotation)

(1)註解

@onetoone(cascade=cascadetype.all)

@joincolumn(name="欄位名",unique=true)

注意:儲存時應該先儲存外來鍵物件,然後再儲存主物件

《復合主鍵》

(1)、主鍵類必須實現serializable介面,重寫hashcode()和equals()方法

(2)主鍵類:@embeddable  ;實體類 :@embeddedid

<3>一對一元件關聯(annotation)

元件類就是乙個pojo類

實體類 @embedded

<3>一對多對映關係

(1)、多對一單向外來鍵(annotation)

@manytoone(cascade=,fetch=fetchtype.eager)

@joincolmn(name="欄位名")

(2)、一對多單向外來鍵(annotation)

一方:@manytoone(cascade=,fetch=fetchtype.lazy)

@joincolmn(name="欄位名")

注意:多對一的時候,多方設定eager,一方設定lazy

<4>多對多對映關係

(1)、多對多單向外來鍵關聯

其中乙個多方持有另乙個多方集合物件

建立乙個中間表

@manytomany

@jointable(

name="teachers_students",

joincolunms=,

inversejoincolumns=

)<5>繼承對映

在父類@entity

@discriminatorcolumn(name = "type", discriminatortype = discriminatortype.string, length=1)

在子類@entity

@discriminatorvalue("s")

<6>元件對映

元件類中:

@embeddable// 嵌入式物件(又名元件)

使用元件的類中:

@embedded

<7>復合主鍵對映

1、 在主類                    

@idclass(personpk.class)//指定復合主鍵對應的主鍵類

2、//建立復合主鍵:必須實現序列化介面(serializable,且重寫hashcode()和equals()方法

Hibernate學習筆記一之註解

1 entiy 實體類註解 2 table 對映表 name 表名 3 coulmn column name columnname 1 boolean unique default false 2 boolean nullable default true 3 boolean insertable ...

整理筆記 Hibernate的抓取

如下例子 import com xing hibernate hql xml.entity student import com xing util hibernateutil import org.hibernate session import org.junit test created by...

SpringBoot註解整理歷史筆記

一 data註解的引用 前提是plugins安裝了lombok外掛程式 註解作用 自動生成get set 搜尋lombod plugin安裝重啟idea後引入dependence org.projectlombok lombok 1.16.10 完成即可使用 二 test註解的使用 pom引入dep...