postgresql和jpa:关系不存在

postgresql和jpa:关系不存在,postgresql,hibernate,jpa,annotations,mapping,Postgresql,Hibernate,Jpa,Annotations,Mapping,我再次请求您的precios帮助解决Hibernate、Springboot和Postgresql的问题。 在我的项目中,我读写了几十个表,我对每个表都使用了相同的配置,但其中一个表出现了一些问题: 这是映射我的表的类: package com.mycompany.ingestion.entities.mappingdb; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax

我再次请求您的precios帮助解决Hibernate、Springboot和Postgresql的问题。 在我的项目中,我读写了几十个表,我对每个表都使用了相同的配置,但其中一个表出现了一些问题:

这是映射我的表的类:

package com.mycompany.ingestion.entities.mappingdb;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="td_titauto")
public class TdTitAuto {
    
    
    @Id
    @SequenceGenerator(name = "seq_td_titauto", sequenceName = "seq_td_titauto", allocationSize=1)
    @GeneratedValue(generator = "seq_td_titauto", strategy = GenerationType.SEQUENCE)
    private Long idTitAuto;
    private String idAuto;
    public Long getIdTitAuto() {
        return idTitAuto;
    }
    public void setIdTitAuto(Long idTitAuto) {
        this.idTitAuto = idTitAuto;
    }
    public String getIdAuto() {
        return idAuto;
    }
    public void setIdAuto(String idAuto) {
        this.idAuto = idAuto;
    }

}
当我运行项目时,出现以下错误: 错误:列tdtitauto0\uID\u tit\u auto不存在 提示:也许您想引用列“tdtitauto0\uid\u titauto”

DB上的表名为td_titaut。如果在注释@Table上添加架构名称,则不会发生任何更改,但如果删除@Table注释,则会出现以下错误:

错误:关系“td_tit_auto”不存在 在这种情况下,我不知道为什么要添加下划线字符(表名为td_titauto,只有一个下划线)

我还尝试使用配置文件代替和以及注释,但没有任何改变。 有什么建议吗? 非常感谢你,我真的很感激 我的问候
Steph

数据库中似乎有一个名为
td\u titauto
的表,但实体的默认名称是
td\u tit\u auto
。这可能是因为实体名称是
TdTitAuto
,而不是
TdTitAuto

Hibernate ORM希望表中有一列名为
id\u tit\u auto
,但我怀疑数据库中的列名是
id\u titauto
。 因此,您需要通过以下方式更改映射:

@Entity
@Table(name="td_titauto")
public class TdTitAuto {
    @Id
    @Column(name="id_titauto")
    @SequenceGenerator(...)
    @GeneratedValue(...)
    private Long idTitAuto;
}
假设id为的列的名称为
id\u titauto

或许,这也会起作用:

@Entity
public class TdTitauto {
    @Id
    @SequenceGenerator(...)
    @GeneratedValue(...)
    private Long idTitauto;
}

哦,是的,现在它工作得很好。非常感谢你,我花了几天时间来解决这个问题。没问题,你能把这个标记为正确的解决方案吗?