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 崩溃