使用JPA 和Hibernate 映射複合鍵
可以使用EmbeddedId 或IdClass
使用IdClass
定義一個單獨的主鍵類(例如TimePK),用於封裝複合鍵字段及其getter /setter。 - 使用@IdClass註解來註解實體,指定主鍵
-
與EmbeddedId
同樣,定義一個單獨的主鍵類別(例如TimePK)。 - 使用@Embeddable註解主鍵類別註解。
- 使用@EmbeddedId註解對實體進行註解,並指定主鍵類別。
-
區別
- 語意:EmbeddedId 顯示複合鍵有特定的意思是,當欄位組合只是一個唯一識別符時,IdClass 更合適。
- 查詢語法: 使用EmbeddedId,可以通過嵌入式主鍵類訪問主鍵字段,而使用IdClass 可以訪問字段
參考文獻
JPA 1.0 規格:第2.1.4、9.1.14 和 9.1.15 節-
以上是如何使用 EmbeddedId 或 IdClass 在 JPA 和 Hibernate 中對應複合鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!