開發項目種遇到一個問題 Table 'text.hibernate_sequence' doesn't exist ,由於項目使用 springboot 集成 jpa ,這裏分享下解決方法。java
只須要根據項目使用數據庫更改主鍵生成策略便可spring
@GeneratedValue(strategy = GenerationType.IDENTITY) // 主鍵自增加
JPA 提供的四種標準用法爲 TABLE,SEQUENCE,IDENTITY,AUTO
TABLE:使用一個特定的數據庫表格來保存主鍵。
SEQUENCE:根據底層數據庫的序列來生成主鍵,條件是數據庫支持序列。
IDENTITY:主鍵由數據庫自動生成(主要是自動增加型)
AUTO:主鍵由程序控制。
在指定主鍵時,若是不指定主鍵生成策略,默認爲 AUTO。
註解 @Id數據庫
@Id private Integer id;
至關於
@Id
@GeneratedValue(strategy = GenerationType.AUTO)springboot
@Id @GeneratedValue(strategy = GenerationType.AUTO) //主鍵生成策略交給持久化引擎 private Integer id;
identity:
使用 SQL Server 和 MySQL 的自增字段,這個方法不能放到 Oracle 中,Oracle 不支持自增字段,要設定 sequence(MySQL 和 SQL Server 中很經常使用)。
Oracle就要採用 sequence 了。ide
同時,也可採用 uuid,native 等其它策略。(相關用法這裏不細說了,自行上網查詢)學習
水平有限,如有問題請留言交流!ui
互相學習,共同進步:) 轉載請註明出處謝謝!spa