類級別注解
@Entity
表示一個實體,對應(yīng)一個數(shù)據(jù)庫中的表
@Table
用來描述我們生成的這張表的屬性,比如表名。
@Embeddable
表明這是一個可以嵌入的類,在其他的表中充當一個屬性
屬性級別注解
@Id
這個屬性注解,用來標注主鍵
@GeneratedValue
這個屬性注解,用來標注主鍵的生成策略
@Column
對應(yīng)于數(shù)據(jù)庫中表的哪一行,以及該行的一些屬性
@Embedded
用來描述可嵌入的屬性類型
@EmbeddedId
用來描述可嵌入的屬性類型
@Transient
表示這個字段不會在數(shù)據(jù)庫中生成相應(yīng)的映射
映射關(guān)系注解

2.png
這個是一對一單向外鍵??梢钥吹轿覀兪怯脤ο髞碜鳛槲覀兊囊粋€屬性,但是可以在@JoinColum中指定我們在數(shù)據(jù)庫中保存的是該對象的哪一個屬性,這里使用的是pid。(聽起來有一些繞)

3.png
這個是一對一雙向外鍵關(guān)聯(lián)。除了上面的配置外,在另一方加上mappedBy="card"。這里的card也就是一對一主控方中的屬性。
private IdCard card;

4.png
這個是多對一單向外鍵關(guān)聯(lián)。這里是多方。

5.png
這個是一對多單向外鍵關(guān)聯(lián)。這里是一方。

6.png
這個是一對多單向外鍵關(guān)聯(lián)。這里是一方。這里因為對應(yīng)對個對象,所以這里持有的是一個set集合對象。

7.png
這里是多對多單向外鍵關(guān)聯(lián)。生成一個中間表。
單向是指類層面,舉個例子,老師類可以知道要教哪些學生,學生不知被哪些老師教 。

8.png
再加上mappedBy,就變成了多對多雙向關(guān)聯(lián)。

9.png

11.png