表 'DBNAME.hibernate_sequence' 不存在

新手上路,请多包涵

我有一个使用 spring 数据/jpa 的 SpringBoot 2.0.1.RELEASE 应用程序

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

但是当我在 Amazon Aurora 数据库中进行更新时,出现了这个错误:

2018-04-13 09:20 [pool-1-thread-1] 错误 ohid.enhanced.TableStructure.execute(148) - 无法读取高值 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 的任何缺点。

原文由 en Peris 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 475
2 个回答

随着生成 GenerationType.AUTO hibernate 将查找默认值 hibernate_sequence 表,因此将生成更改为 IDENTITY 如下所示

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

原文由 Bourbia Brahim 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

或者如果你使用 application.properties

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

原文由 Neikat 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题