我在SpringBoot中创建了我的实体

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Table;

@Table(name="users") 
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String username;
    private String email;
}

我在应用程序中设置了数据库配置(我使用的是MySQL XAMPP Apache服务器)

spring.datasource.url=jdbc:mysql://localhost:3307/mediatech?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
server.port=8082

当我运行应用程序时,它创建数据库而不是表,我如何修复它并创建数据库模式表?

推荐答案

问题是spring.jpa.hibernate.ddl-auto的值应该是update.

创建和更新之间的区别:

  • "Create":Hibernate将从头开始创建数据库模式 每次应用程序启动.

  • "UPDATE":Hibernate将try 更新数据库模式 匹配实体模型.它将添加表、列和约束 根据需要,但它不会删除现有的表或列.这是一个 更安全的开发选项,有时用于生产.

Java相关问答推荐

如何在Spring Security中设置CustomLogin路径?

@ EnableRouting注释在Kotlin项目中不工作

Java WireMock定义存根在Cucumber并行执行的多线程测试中失败

JDK22执行repackage of goal org. springframework. boot:spring—boot—maven—plugin:3.2.3:repackage failed:unsupported class file major version 66—>

Java inline Double条件和值解装箱崩溃

Kubernetes的Java客户端检索状态.处于终止状态的Pod的阶段';正在运行';

使用REST客户端和对象映射器从字符串反序列化Json

Java Mooc.fi Part 12_01.Hideout -返回和删除方法

在Java 15应用程序中运行Java脚本和Python代码

使用Jackson库反序列化json

如何在Jooq中获取临时表列引用?

当b是一个字节并且在Java中值为-1时,为什么b>;>;>;1总是等于-1?

FETCH类型设置为LAZY,但它仍会发送第二个请求

如何处理两个几乎相同的XSD文件?

如何对存储为字符串的大数字数组进行排序?

Java System.getProperty在哪里检索user.home?

Spring Boot Security-每个端点都被403禁止,Spring记录一个BasicErrorController#错误(HttpServlet请求)

转换为JSON字符串时,日期按天递减-Java

";重复键的值提示唯一约束«;livre_genre_pkey»";例外

OpenAPI Maven插件生成错误的Java接口名称