Hibernate之Table ‘xxx.hibernate_sequence‘ doesn‘t exist异常

Hibernate之Table ‘xxx.hibernate_sequence‘ doesn‘t exist异常

异常截图

使用Hibernate jpa操作Mysql出现如下异常:

image-20220807105227003

原因分析

表hiberate_sequence的作用为当主键id增长方式选择以sequence方式时,那么表hibernate_sequence用于记录其他表的主键。
代码中实体注解为@GeneratedValue(strategy = GenerationType.AUTO),那么主键id增长方式交由了数据库自动选择,当数据库为Mysql是选择sqquence增长方式,那么就需要表hibernate_sequence记录其他表的主键。因为使用的数据库连接用户无操作数据库表结构的权限,那么hibernte不能自动生成表hibernate_sequence,导致出现异常。

解决方案

方案一:更换对数据库连接用户保证对数据库表结构具有操作权限,利用hibernate自动生成表hibernate_serquence。
方案二: 改变主键id的增长方式不使用sequence增长方式,利用注解@GeneratedValue(strategy = GenerationType.IDENTITY)让数据库使用自增id。


原文链接:https://blog.csdn.net/HelloWord_Lk/article/details/122740872

posted @ 2022-08-07 10:54  哩个啷个波  阅读(315)  评论(0编辑  收藏  举报