基本註解包括@Entity、@Table、@Id、@IdClass、
@GeneratedValue、@Basic、@Transient、@Column、@Temporal、
@Enumerated、@Lob。java
@Id定義屬性爲數據庫的主鍵,一個實體裏面必須有一個。數據庫
@IdClass利用外部類的聯合主鍵。
fetch
@GeneratedValue爲主鍵生成策略 3d
@Basic表示屬性是到數據庫表的字段的映射。若是實體的字段上 沒有任何註解,默認即爲@Basic。 對象
@Transient表示該屬性並不是一個到數據庫表的字段的映射,表示非持久化屬性,與@Basic做用相反。JPA映射數據庫的時候忽略它。blog
@Column定義該屬性對應數據庫中的列名。 內存
@Temporal用來設置Date類型的屬性映射到對應精度的字段。it
@Enumerated很好用,直接映射enum枚舉類型的字段。
io
這時插入兩條數據,數據庫裏面的值是MAIL/FMAIL,而不是「男 性」/「女性」。若是咱們用@Enumerated(EnumType.ORDINAL),那麼 這時數據庫裏面的值是0,1。可是實際工做中,不建議用數字下標, 由於枚舉裏面的屬性值是會不斷新增的,若是新增一個,位置變化了 就慘了。class