博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Table 'XXX.hibernate_sequence' doesn't exist
阅读量:6996 次
发布时间:2019-06-27

本文共 791 字,大约阅读时间需要 2 分钟。

  hot3.png

开发项目种遇到一个问题 Table 'text.hibernate_sequence' doesn't exist ,因为项目使用 springboot 集成 jpa ,这里分享下解决方法。

只需要根据项目使用数据库更改主键生成策略即可

@GeneratedValue(strategy = GenerationType.IDENTITY) // 主键自增长

补充:

JPA 提供的四种标准用法为 TABLE,SEQUENCE,IDENTITY,AUTO

TABLE:使用一个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
IDENTITY:主键由数据库自动生成(主要是自动增长型)
AUTO:主键由程序控制。
在指定主键时,如果不指定主键生成策略,默认为 AUTO。
注解

@Idprivate Integer id;

相当于

@GeneratedValue(strategy = GenerationType.AUTO)

@Id@GeneratedValue(strategy = GenerationType.AUTO) //主键生成策略交给持久化引擎private Integer id;

identity:

使用 SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,要设定 sequence(MySQL 和 SQL Server 中很常用)。
Oracle就要采用 sequence 了。

同时,也可采用 uuid,native 等其它策略。(相关用法这里不细说了,自行上网查询)

 

水平有限,若有问题请留言交流!

互相学习,共同进步:) 转载请注明出处谢谢!

转载于:https://my.oschina.net/hp2017/blog/1921788

你可能感兴趣的文章