【发布时间】:2023-03-19 23:20:01
【问题描述】:
我在数据库中有一个名为 invoice 的实体和一个名为“convenioPago”的列,但找不到它
试着把@Column (name = "\"convenioPago\"", nullable = false)
但仍然有同样的错误
@Entity
@Table(name = "invoice", schema = "public")
public class Invoice {
//more columns
@Column (name = "\"convenioPago\"", nullable = false)
private Long convenioPago;
}
我也使用@Configuration 来创建我的数据源
@EnableJpaRepositories(basePackages = {"package.repository"})
@Configuration
public class Config {
@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
//use org.postgresql.Driver
}
注意:我使用 spring-boot-starter-parent 2.1.7.RELEASE
我的错误是:
ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper: ERROR: column invoice0.convenio_pago does not exist
因为如果应该指向convenioPago,它指向convenio_pago?
【问题讨论】:
-
您使用的是哪个 RDBMS?
-
嗨@YCF_L 我使用关系
-
我的意思是 MySQL、PostgreSQL、Oracle,你也可以告诉我们你是如何创建表的
-
哦!对不起,我使用 POSTGRES,该表是多年前使用 MyEclipseCI 创建的,但我有一个带有该表的微服务项目,并且我映射了它。实体是textsaver.flap.tv/lists/2v97
-
查看stackoverflow.com/questions/376093/hibernate-column-name-issues/…。此外,Hibernate 正在做自己喜欢的事情。不过,您可以用额外的引号将您的列名括起来,以实现您所需要的
标签: java spring spring-boot jpa datasource