解决: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

相关文章
相关标签/搜索