java Spring JPA不自动创建表

jmo0nnb3  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(112)

我有以下模型类

import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;

@Entity
@Table(name = "users")
@Getter
@Setter
public class User {
    @Id
    private long id;
    @Column(name = "email")
    private String email;
    @Column(name = "password")
    private String password;
}

我的application.properties文件:

spring.sql.init.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/marketplace
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}

spring.sql.init.mode=always

spring.jpa.database=POSTGRESQL
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

logging.level.org.springframework.transaction.interceptor=TRACE

但是spring JPA在分配数据源后不创建表。为什么?为什么?
连接数据库,分配数据源,然后数据库中没有任何变化,任何表都不会出现在我的模式中

nlejzf6q

nlejzf6q1#

看起来你很困惑,JPA是一个ORM标准。我们可以说,在Java中,我们更喜欢与对象交互,而不是与数据库直接交互。所以为了实现这一点,我们定义了实体并将它们Map到相应的表。为了回答你的问题,没有JPA不会在你的数据库中为你创建表。它只会工作,它可以找到相应的表和字段,你已经定义在您的实体。

相关问题