hibernate不会创建表postgresql

kim*_*eik 2 postgresql hibernate spring-boot

我知道这里有很多类似的问题,但我花了一整天时间并没有找到解决方案.

我在Spring Boot 1.5.4项目中使用Hibernate 5.0.12和PostgreSQL 9.6.3.

我有一个简单的用户实体:

import javax.persistence.*;

@Entity
public class User {

    @Id
    @GeneratedValue
    @Column(nullable = false, updatable = false)
    private Long id;

    private String email;
    private String password;

    public Long getId() {       return id;  }
    public void setId(Long id)  {       this.id = id;   }
    public String getEmail() {      return email;   }
    public void setEmail(String email) {        this.email = email; }
    public String getPassword() {       return password;    }
    public void setPassword(String password) {      this.password = password; }
}
Run Code Online (Sandbox Code Playgroud)

和application.properties:

spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/my-db
spring.datasource.username=postgres
spring.datasource.password=postgres

spring.hibernate.dialect=org.hibernate.dialect.PostgreSQL94Dialect
spring.hibernate.hbm2ddl.auto=create

logging.level.org.hibernate=DEBUG
Run Code Online (Sandbox Code Playgroud)

启动看起来很正常

休眠日志

但是表"user"尚未创建.

使用MySQL一切正常.PostgreSQL有什么问题吗?我是新手,只是像这样创建了DB:

createdb -h localhost -p 5432 -U postgres my-db password *********
Run Code Online (Sandbox Code Playgroud)

并且,在尝试修复问题之后,在其中创建了架构:

CREATE SCHEMA "my-db" AUTHORIZATION postgres;
Run Code Online (Sandbox Code Playgroud)

Mac*_*iak 5

user是PostgreSQL中的保留字.使用不同的表名,users并将@Table(name = "users")注释放在实体类的顶部.