当前位置: 首页 > 知识库问答 >
问题:

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

徐智渊
2023-03-14

我在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.InvalidDataAccessResourceUsageExc0019:无法提取ResultSet;SQL[n/a];嵌套异常是org.hibernate.exception.SQLGrammarExc0019:无法提取ResultSet

 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个答案

范俊逸
2023-03-14

有几件事要告诉你。

1) 需要检查你的Spring。jpa。冬眠ddl auto属性取决于该属性,数据库表、列将由Hibernate填充。

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

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

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

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

 ................
 类似资料:
  • 我正在使用Struts、Spring和Hibernate与mysql&Eclipse Kepler的集成进行在线考试项目。在Registration.jsp页面中提交值时,我试图将这些值存储在同一个数据库中的两个不同的表(user_details,address)中。我可以将它们存储在数据库中,但我不能获取user_id,这是地址表的外键。user_id是user_details表中的主键,除了地

  • 我想让hibernate生成一些带有外键的表等等。我将给出我希望hibernate生成的查询的一个示例: 所以这个查询应该由hibernate通过注释生成。与此对应的类是: 有关中的应映射到的内容的示例(中的每个助记符在中只有一个值): 正如您所看到的,我在文档的帮助下做了一些尝试,但是我不能让Hibernate生成外键。如果有人能告诉我这个类需要的注释和值,那就太好了,这样我就可以自己为其他类做

  • 问题内容: 我正在使用Hibernate 3.3和PostgreSQL 8.x,并希望使用Hibernate批注来映射不是主键的自动增量列。 只要该列是由数据库而不是由Hibernate自动递增的,则在Postgres中使用SERIAL类型或序列映射该列都没有关系。我尝试了以下映射,但它们始终生成空的orderId。 我将不胜感激。 谢谢 问题答案: 以下映射应该可以正常工作: 但是请注意,刷新会

  • 我正在使用Hibernate和JPA注释来映射我的类。当hibernate尝试映射这个类时,我遇到了一个问题 我的Social alStat类是: 我得到了这个错误: 我猜发生这种情况是因为我试图映射到一个基本类,但@ElementCollection注释不应该解决这个问题吗? 我的item类如下所示:

  • 问题内容: 我想做这样的事情: 并让Foos保持在这样的表中: 更新: 我知道如何绘制其他实体的图,但是在许多情况下,这太过分了。似乎我所建议的是在没有创建另一个实体或以某个blob列中的所有内容结束的情况下是不可能的。 问题答案: 在Hibernate术语中,这是“值的集合”或“元素”。有一个(特定于Hibernate的)注释。JPA还不支持此功能。 简而言之,像这样注释您的收藏集: 这将创建带

  • 问题内容: 您能帮我使用Hibernate映射此类吗? 我正在使用PostgreSQL,表中的列类型是integer []应该如何映射我的数组? 问题答案: 我从未将数组映射为hibernate状态。我总是使用收藏集。因此,我对您的课程进行了一些更改: