1. 程式人生 > >hibernate註解note

hibernate註解note

策略 image string類 bubuko === not 兩張 構造 dong

@Id標識主鍵屬性

  1.hibernate5.2 mysql5.7 不需要實現 serializable也可以?

  2.主鍵255的長度我生成了?

@GeneratedValue主鍵生成策略

  1.主鍵設置成string類型,並且@GeneratedValue(strategy=GenerationType.AUTO)這麽設置是可以生成表的,,不過會生成兩張表,其中一張是序列的表,只是不能手動賦值罷了,還有就是string作為主鍵並不用@Column(length=8)設置長度,實測並沒有限制長度,只是數據庫開銷大了點,也是可以實現建表的?

  2.auto是主鍵由程序自動控制,identity才是主鍵自增長?

  3.@GenerateValue,我設置成auto, 他新建立了一個鏈表結構的 table ...?

@Embeddable嵌入類屬性, 加到嵌入類的頭上

  1.講屬性級別的@Embeddable註解的時候,沒有在引用屬性中標註@Embedded註解也是可以的,所以為什麽還要用一下@Embedded註解呢?

@EmbeddedId嵌入式主鍵類實現復合主鍵(聯合主鍵?)

  1.@EmbeddedId標到屬性頭上, @Embeddable標到復合主鍵類頭上

  2.嵌入式主鍵類必須實現序列化接口, 必須含有默認的public無參構造方法, 必須覆蓋equals和hashcode方法

@Transient表示並非一個到數據庫表的字段的映射, ORM框架將忽略該屬性(ORM框架默認一個屬性為@BASIC)

=====================關聯映射========================

實體間映射關系

一對一: 一個公民一個身份證號

一對多(多對一): 一個公民多個銀行賬號

多對多: 一個學生有多個老師, 一個老師有多個學生

技術分享圖片

參考另一篇:hibernate關聯映射註解

hibernate註解note