Spring Boot App 不断创建新的数据库表

Posted

技术标签:

【中文标题】Spring Boot App 不断创建新的数据库表【英文标题】:Spring Boot App keeps creating a new database Tables 【发布时间】:2018-11-12 17:28:10 【问题描述】:

所以我有一个由 Hibernate 注释支持的实体,但问题是每当我完全重新启动我的应用程序时,表中的数据都会丢失。

实体文件为:

package hello;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Customer 

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

    protected Customer() 

    public Customer(String firstName, String lastName) 
        this.firstName = firstName;
        this.lastName = lastName;
    

    @Override
    public String toString() 
        return String.format(
                "Customer[id=%d, firstName='%s', lastName='%s']",
                id, firstName, lastName);
    


【问题讨论】:

你的数据库是什么? 【参考方案1】:

在您的 Applications.properties 文件中添加:

spring.jpa.hibernate.ddl-auto=update

这将使用您现有的表,而不是每次重新启动 Spring Boot 应用程序时都销毁和创建新表。

【讨论】:

以上是关于Spring Boot App 不断创建新的数据库表的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 1.4 @DataJpaTest - 创建名为“dataSource”的 bean 时出错

如何通过 Spring Boot Web App 即时创建 mysql 数据库和表

Heroku Spring Boot Gradle App 已部署但 App 崩溃

如何使用Spring-boot处理越来越多的STOMP主题

Spring Boot OAuth2 手动创建新的 JWT 令牌

spring boot 工厂+策略模式实现APP版本控制