嵌入式主鍵 EmbeddedId

2021-08-26 13:13:32 字數 1398 閱讀 7962

用於定義復合主鍵

[b][color=red]方法1:[/color][/b]

(1)編寫乙個嵌入式主鍵的類testpk

作為嵌入式主鍵類,要滿足以下幾點要求。

1.必須實現serializable介面、必須有預設的public無引數的構造方法、必須覆蓋equals 和hashcode方法,這些要求與使用復合主鍵的要求相同。

2.將嵌入式主鍵類使用@embeddable標註,表示這個是乙個嵌入式類。

@embeddable

public class testpk

public string getfirstname()

public void setfirstname(string firstname)

public string getlastname()

public void setlastname(string lastname)

@override

public boolean equals(object o)

@override

public int hashcode()

}(2)通過@embeddedid注釋標註實體中的嵌入式主鍵

注意:1.必須要實現serializable介面

2.需要有無參的建構函式

3.@embeddable注釋,表示此類可以被插入某個entity中

4.兩個class和column的列名都必需與表裡的列名一致,建立sql時,會自動選擇testpk裡的列名

@entity

@table(name = "schemaname.tablename")

public class test

public int getid()

@column(name = "firstname")

public string getfirstname()

@column(name = "lastname")

public string getlastname()

@column(name = "name")

public string getname()

public void setname(string name)

}[b][color=red]方法2:[/color][/b]

(3)不想在testpk中定義列名,可以用以下方法,用於公共復合主鍵

通過@attributeoverride注釋來指定test類的firstname,lastname與資料庫中表的first_name,last_name進行對映.

以下**在class test

@embeddedid

@attributeoverrides( )

不需要getfirstname,getlastname

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...

非嵌入式與嵌入式的區別

非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...