开发项目种遇到一个问题 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