需要在主鍵上增加一個@Id標識
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 類型的枚舉值,它的內容將指定OpenJPA容器自動生成實體標識的方式,共有:
GeneratorType.AUTO
GenerationType.IDENTITY
GenerationType.SEQUENCE
GenerationType.TABLE
四種方式 。
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根據你採取的底層數據庫來選擇,比如是用oracle,id用sequence的話,可以採取sequence方式,如果是用mysql,一般就用auto模式
// 默認相當於native ID生成策略,JPA 1.0 中只有4個可選值
// 如果只寫@Id ,主鍵字段不會自動產生,需要我們手動輸入
// @GeneratedValue 默認爲策略產生ID
// 如果我要讓ID爲IDENTITY 則需要手動給他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
這樣選擇了主鍵生成策略,在給實體賦值時就不用設置ID值了。