1、@column註解
就像@table註解用來標識實體類與資料表的對應關係
類似,@column註解來標識實體類中屬性與資料表中字段的對應關係。
@column註解一共有10個屬性,這10個屬性均為可選屬性,各屬性含義分別如下:
name
name屬性定義了被標註欄位在資料庫表中所對應欄位的名稱;
unique
unique屬性表示該欄位是否為唯一標識,預設為false。如果表中有乙個字段需要唯一標識,則既可以使用該標記,也可以使用@table標記中的@uniqueconstraint。
nullable
nullable屬性表示該欄位是否可以為null值,預設為true。
insertable
insertable屬性表示在使用「insert」指令碼插入資料時,是否需要插入該字段的值。
updatable
updatable屬性表示在使用「update」指令碼插入資料時,是否需要更新該字段的值。insertable和updatable屬性一般多用於唯讀的屬性,例如主鍵和外來鍵等。這些欄位的值通常是自動生成的。
columndefinition
columndefinition屬性表示建立表時,該欄位建立的sql語句,一般用於通過entity生成表定義時使用。(也就是說,如果db中表已經建好,該屬性沒有必要使用。)
table
table屬性定義了包含當前欄位的表名。
length
length屬性表示欄位的長度,當字段的型別為varchar時,該屬性才有效,預設為255個字元。
precision和scale
precision屬性和scale屬性表示精度,當欄位型別為double時,precision表示數值的總長度,scale表示小數點所佔的位數。
此標記可以標註在getter方法或屬性前,例如以下的兩種標註方法都是正確的
2、@joincolumn
與@column相區別的是:@joincolumn注釋的是儲存表與表之間關係的字段,它要標註在實體屬性上。而@column標註的是表中不包含表關係的字段。
與@column標記一樣,name屬性是用來標識表中所對應的字段的名稱。例如customer表中存在欄位addr_id,標識的**如下所示。
@onetoone
@joincolumn(name = "addr_id")
public addresseo getaddress()
若此時,不設定name的值,則在預設情況下,name的取值遵循以下規則:
name=關聯表的名稱+「_」+關聯表主鍵的欄位名
例如,customereo實體中,如果不指定name的值,預設將對應name=address_id;因為@joincolumn注釋在實體 addresseo屬性上,實體addresseo對應的表名為「address」;表address的主鍵是「id」,所以此時對應的預設的欄位名稱為 「address_id」。
3、@manytoone
從具體使用者users查到其對應的group,反過來也能通過group查到具體users,所以是雙向關聯,所以group對於users是「一對多」的關聯關係@onetomany,users對於group是「多對一」@manytoone。
@entity@table(name="t_group")//指定乙個表名
public class group
public setgetusers()
@entity@table(name="t_users")
public class users
@manytoone(fetch=fetchtype.lazy,cascade=(cascadetype.all))//解決1+n,級聯用all
@joincolumn(name="groupid")//指定外來鍵名稱,不指定的預設值是group_id
public group getgroup()
spring中的一些註解
component是類的通用註解,將bean注入spring容器中 scope是類的作用域註解,用於規定類的作用域 repository是dao層的註解,告訴spring這是持久層 service是service層的註解,告訴spring這是業務邏輯層的 controller是controller層...
Spring Boot中的一些註解
參考 2 responsebody 3 controller 4 restcontroller 用於標註控制層元件,responsebody和 controller的合集。6 service 一般用於修飾service層的元件 7 repository 使用 repository註解可以確保dao或...
spring boot中的一些常用註解
隨手記,後面有接觸到的再來整理 1.configuration相當於xml裡的標籤 bean 相當於xml裡的標籤 在spring中,加了 configuration註解後,需要加掃包的配置 而在springboot中,只需要啟動類放在 加 configuration的註解類的外層即可 3.enab...