表“DBNAME.hibernate_sequence”不存在

2022-08-31 10:45:15

我有一个使用Spring Data / jpa的SpringBoot 2.0.1.RELEASE应用程序

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

但是当我在 Amazon Aurora DB 中执行更新时,我收到此错误:

2018-04-13 09:20 [pool-1-thread-1] ERROR o.h.id.enhanced.TableStructure.execute(148) - 无法读取 hi 值 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: table 'elbar.hibernate_sequence' 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 不存在

我在要保存的实体中有此内容

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

我也想避免在数据库中获取ID的任何缺点。


答案 1

随着生成休眠将查找默认表,因此将生成更改为如下所示:GenerationType.AUTOhibernate_sequenceIDENTITY

 @Id
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 private Long id;

答案 2

在 application.yml 中添加以下配置:

spring: jpa: hibernate: use-new-id-generator-mappings: false

或者,如果您使用 application.properties,则选择此选项

spring.jpa.hibernate.use-new-id-generator-mappings= false


推荐