当前位置: 首页 > 知识库问答 >
问题:

表acme_ms.hibernate_sequence不存在

常波鸿
2023-03-14

我们正在尝试将我们的微服务迁移到Spring Boot 2,目前我们正在使用Spring Boot 1.5.6。释放

在迁移过程中,我们发现我们的微服务部分损坏,在日志文件中我们发现了以下错误:

com.mysql.jdbc.exceptions.jdbc:表'acme_ms.hibernate_sequence'不存在

目前我们的应用程序中只存在一个域类:

@Getter
@Setter
@ToString
@Entity
@Table(name = "acme_ms_card_details")
public class CardDetails {

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

我们发现问题与GeneratedValue策略类型有关,我们试图将策略更改为GenerationType。标识,错误消失。

所以,我们现在的问题是:为什么使用Spring boot1.5GenerationType。AUTO工作得很好,但是在迁移到Spring boot2之后,GenerationType。AUTO根本不起作用。

什么发生了重大变化?

注意:作为一个数据库,我们使用的是MySQL。

共有2个答案

陆臻
2023-03-14

您需要将@GeneratedValue(strategy=GenerationType.AUTO)更改为@GeneratedValue(strategy=GenerationType.IDENTITY)

容柏
2023-03-14

Spring Boot 1.5.6使用Hibernate 5.0.12。最后,Spring Boot 2使用Hibernate 5.2.12。最后,新的Hibernate版本有一个改变,打破了strategy=GenerationType。自动

您需要添加以下属性hibernate。id.新的_生成器_映射到true以恢复向后兼容性。

hibernate 5 sequencegenerator未给出正确的值

 类似资料:
  • 当我测试我的项目时,数据库中只创建了4个表,但没有创建其他表,我不知道为什么。创建了表、、和,但没有创建表和我没有放在本例中的其他表。有一些属性我忘记了?感谢您的帮助。以下是一些文件: hibernate.cfg.xml Position.hbm.xml 拒绝位置.hbm.xml 通知.hbm.xml Demande.java Demande.hbm.xml User.java 用户.hbm.xm

  • 问题内容: 我删除了一些与应用程序相关的表。再试一次syncdb命令 它显示错误 models.py 我该如何获取该应用程序的表格? 问题答案: 删除表(您已经做过), 在model.py中注释掉模型, 和.. 如果Django版本> = 1.7: 其他 在models.py中注释模型 转到步骤3。 但是 这次没有 --fake

  • 问题内容: 我删除了一些与应用程序相关的表。再试一次syncdb命令 它显示错误 models.py 我该如何获取该应用程序的表格? 问题答案: 删除表(你已经做过), 在model.py中注释掉模型, 和.. 如果Django版本> = 1.7: 其他 在models.py中注释模型 转到步骤3。但是这次没有–fake

  • 我正在尝试将Employee实体插入数据库。我使用的是JPA,数据库是MySQL。当我尝试插入实体时,它给我的是Test.Employee不存在。我假设我不必创建表。实体将自动创建带有注释名称的表。请找到下面的异常和代码。 http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd“>

  • 我正在使用Spring和Hibernate编写Web应用程序,但第一次遇到这种问题。每当我在服务器上运行我的应用程序时,它都会说**“java.sql.SQLSyntaxErrorException:表'restaurantapp.users'不存在。**我不明白的是,我的数据库中甚至没有一个名为“users”的表,而且我从未在我的应用程序中使用过表“users”。代码部分如下所示。需要帮助来解决

  • 问题内容: 在配置hibernate.cfg.xml中,我添加 Hibernate并在运行应用程序时自动创建表。但是,我通过运行drop table sql从数据库中手动删除该表。然后再次运行hibernate应用程序。出现异常 引起原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表’test.person’不存在 解决该问