Jpa的@Id和@GeneratedValue的使用

@Id和@GeneratedValue的使用

文章內容來自於:https://blog.csdn.net/rickesy/article/details/50788161,作者:Rickesy
文章主要用於自己學習SpringBoot,方便以後的查詢

@Id:

  • @Id 語句之前,可與聲明語句同行,也可寫在單獨行上。
  • @Id標註也可置於屬性的getter方法之前。

@GeneratedValue:

  • @GeneratedValue 用於標註主鍵的生成策略,通過strategy 屬性指定。默認情況下,JPA 自動選擇一個最適合底層數據庫的主鍵生成策略:SqlServer對應identity,MySQL 對應 auto increment。
    在javax.persistence.GenerationType中定義了以下幾種可供選擇的策略:

    • – IDENTITY:採用數據庫ID自增長的方式來自增主鍵字段,Oracle 不支持這種方式;
    • –AUTO: JPA自動選擇合適的策略,是默認選項;
    • –SEQUENCE:通過序列產生主鍵,通過@SequenceGenerator 註解指定序列名,MySql不支持這種方式
    • –TABLE:通過表產生主鍵,框架藉由表模擬序列產生主鍵,使用該策略可以使應用更易於數據庫移植。
@Entity(name = "user")
public class User {

    @Id
    @GeneratedValue
    private Long id;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private Integer age;


    //省略getter、setter、構造方法

@Entity默認會將實體類首字母小寫,如果需要修改,則需要添加@Entity(name="entity name")進行自定義。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章