我有以下模型类
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在分配数据源后不创建表。为什么?为什么?
连接数据库,分配数据源,然后数据库中没有任何变化,任何表都不会出现在我的模式中
1条答案
按热度按时间nlejzf6q1#
看起来你很困惑,JPA是一个ORM标准。我们可以说,在Java中,我们更喜欢与对象交互,而不是与数据库直接交互。所以为了实现这一点,我们定义了实体并将它们Map到相应的表。为了回答你的问题,没有JPA不会在你的数据库中为你创建表。它只会工作,它可以找到相应的表和字段,你已经定义在您的实体。