解決:Table 'XXX.hibernate_sequence' doesn't exist

開發項目種遇到一個問題 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

相關文章
相關標籤/搜索