Hibernate不会在postgreSQL之后创建表



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

我在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; }
}

和应用程序属性:

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

启动看起来正常

休眠日志

但尚未创建表"用户"。

使用MySQL,一切正常。PostgreSQL有任何问题吗?我是新手,只是像这样创建了数据库:

createdb -h localhost -p 5432 -U postgres my-db password *********

并且,在某些尝试解决此问题后,在其中创建了架构:

CREATE SCHEMA "my-db" AUTHORIZATION postgres;

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

根据

上面的代码,您似乎缺少@Table(名称="用户"(注释。如果可行,您可以在添加后尝试一次吗?

最新更新