postgresql - postgresql 和 jpa:关系不存在
问题描述
再一次,我想请你帮忙解决 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_.id_tit_auto 不存在提示:也许您打算引用列“tdtitauto0_.id_titauto”。
DB 上的表名是 td_titaut。如果我在注解@Table 上添加架构的名称,则没有任何变化,但是如果我删除@Table 注解,则会出现以下错误:
错误:关系“td_tit_auto”不存在 在这种情况下,我不知道为什么要添加下划线字符(表名为 td_titauto,只有一个下划线)。
我也尝试过使用配置文件和注释,但没有任何改变。有什么建议么?非常感谢,我真的很感激我最好的问候斯蒂芬
解决方案
似乎您的数据库中有一个名为的表,td_titauto
但实体的默认名称是td_tit_auto
. 这可能是因为实体名称TdTitAuto
而不是TdTitauto
.
Hibernate ORM 期望表上有一个名为的列,id_tit_auto
但我怀疑您的数据库中的列名是id_titauto
. 因此,您需要以这种方式更改映射:
@Entity
@Table(name="td_titauto")
public class TdTitAuto {
@Id
@Column(name="id_titauto")
@SequenceGenerator(...)
@GeneratedValue(...)
private Long idTitAuto;
}
假设 id 列的名称是id_titauto
.
可能,这也会起作用:
@Entity
public class TdTitauto {
@Id
@SequenceGenerator(...)
@GeneratedValue(...)
private Long idTitauto;
}
推荐阅读
- java - Eclipse:必须声明元素类型“上下文”
- amazon-web-services - 什么可以在“固定”时间阻止我的码头流程?
- python - 使用 Python 在 JSON 文件中的数组中添加键
- python-2.7 - 为什么在 trigger_dag 之后任务在 Airflow 1.10.2 中停留在 None 状态
- java - InputStreamReader 只返回一半的 html 文档
- animation - 如何使用“维度”在地理服务器中制作动画
- android - 将应用程序升级到 64 位 Apk anaylzer 后,lib 中只有 32 位
- java - kafka消费者收到一条之前消费过的消息
- php - php过滤器多维数组
- ajax - Kendo asp .net MVC 未在 kendo 网格上显示记录