Hibernate @Column注释无法映射到数据库

时间:2018-01-15 02:53:57

标签: postgresql hibernate spring-boot

我在Spring Boot和PostgreSql中有一个实体,我正在使用@Column注释来映射到数据库。这是我的实体剪辑代码:

@Entity(name = "users")
@Table(name = "users", schema = "public")
public class User implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 12355345L;
    @Id
    @Column(name = "user_id")
    private String userid;
    @Column(name = "user_name")
    private Integer username;

当id运行并使用邮递员测试时,我收到错误:

  

org.springframework.dao.InvalidDataAccessResourceUsageException:可以   不提取ResultSet; SQL [不适用];嵌套异常是   org.hibernate.exception.SQLGrammarException:无法解压缩   结果集

 Caused by: org.postgresql.util.PSQLException: ERROR: column users0_.usersid does not exist
  Hint: Perhaps you meant to reference the column "users0_.user_id".

我不知道为什么。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的信息有很多内容。

1)需要根据该属性检查您的spring.jpa.hibernate.ddl-auto属性,数据库表,列将由Hibernate填充。

2)接下来删除现有表并将值更改为spring.jpa.hibernate.hbm2ddl.auto=update,以便根据实体类中提供的注释创建/更新表

3)删除不必要的注释。以下就足够了。

@Entity
@Table(name = "users")
public class User implements Serializable {

 @Id
 @Column(name = "user_id")
 private String userid;

 ................