Hibernate中的一些註解的學習

2022-07-24 15:45:16 字數 2383 閱讀 4424

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...