《常用註解》
@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...