Spring Data JPA常用註解

  • @Entity:標識這是一個JPA實體類,告訴JPA在程序運行的時候記得生成這個實體類所對應的表
  • @Table:自定義設置這個實體類在數據庫所對應的表名
屬性 說明
name 自定義的表名
屬性 說明
fetch FetchType.EAGER 主動抓取
fetch FetchType.LAZY 延遲加載
  • @Column:對字段名進行一些個性化的設置
屬性 說明
name 字段名
length 字段長度
nullable 可否爲空
unique 是否唯一
columnDefinition 該字段的類型和長度
  • @Transient:表示該屬性並非一個到數據庫表的字段的映射,ORM框架將忽略該屬性

映射的註解說明:

  • @OneToMany:建立一對多的關係映射
屬性 說明
targetEntityClass 指定多的多方的類的字節碼
mappedBy 指定從表實體類中引用主表對象的名稱
cascade 指定要使用的級聯操作
fetch 指定是否採用延遲加載
orphanRemoval 是否使用孤兒刪除

cascade:配置級聯操作

說明
CascadeType.MERGE 級聯更新
CascadeType.PERSIST 級聯保存
CascadeType.REFRESH 級聯刷新
CascadeType.REMOVE 級聯刪除
CascadeType.ALL 包含所有
  • @ManyToOne:建立多對一的關係
屬性 說明
targetEntityClass 指定一的一方實體類字節碼
cascade 指定要使用的級聯操作
fetch 指定是否採用延遲加載
optional 關聯是否可選。如果設置爲false,則必須始終存在非空關係
  • @JoinColumn:用於定義主鍵字段和外鍵字段的對應關係
屬性 說明
name 指定外鍵字段的名稱
referencedColumnName 指定引用主表的主鍵字段名稱
unique 是否唯一。默認值不唯一
nullable 是否允許爲空。默認值允許
insertable 是否允許插入。默認值允許
updatable 是否允許更新。默認值允許
columnDefinition 列的定義信息
  • @ManyToMany:用於映射多對多關係
屬性 說明
cascade 配置級聯操作
fetch 配置是否採用延遲加載
targetEntity 配置目標的實體類。映射多對多的時候不用寫
  • @JoinTable:針對中間表的配置
屬性 說明
nam 配置中間表的名稱
joinColumns 中間表的外鍵字段關聯當前實體類所對應表的主鍵字段
inverseJoinColumn 中間表的外鍵字段關聯對方表的主鍵字段
  • @JoinColumn:用於定義主鍵字段和外鍵字段的對應關係
屬性 說明
nam 配置級聯操作
referencedColumnName 指定引用主表的主鍵字段名稱
unique 是否唯一。默認值不唯一
nullable 是否允許爲空。默認值允許
insertable 是否允許插入。默認值允許
updatable 是否允許更新。默認值允許
columnDefinition 列的定義信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章