[英]Spring Boot PostgreSQL column does not exist error with Docker
I am using Spring Boot with PostgreSQL. I want to save my Entity objects in the database but when I try to do so, an error message appears:我正在使用 Spring Boot with PostgreSQL。我想将我的实体对象保存在数据库中,但是当我尝试这样做时,会出现一条错误消息:
spring | 2021-10-11 08:08:59.634 WARN 1 --- [ Thread-40] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42703
spring | 2021-10-11 08:08:59.634 ERROR 1 --- [ Thread-40] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: column "differencetolexifipricescore" of relation "rtdatabase" does not exist
I was using Spring with H2 and everything was working fine.我将 Spring 与 H2 一起使用,一切正常。 I then migrated to Docker + PostgreSQL.
然后我迁移到 Docker + PostgreSQL。
My Entity code:我的实体代码:
@Data
@Entity
@Table(name="RTDatabase")
public class MarketPrice {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
long ID;
@Column(name="RIC")
String RIC;
@Column(name="name")
String name;
@Column(name = "bid_issuer")
Float bid_issuer;
@Column(name = "ask_issuer")
Float ask_issuer;
@Column(name = "ask_kech")
Float ask_kech;
@Column(name = "bid_kech")
Float bid_kech;
@Column(name = "isin")
String ISIN;
@Column(name = "decenter")
Float decenter;
@Column(name = "kech_margin")
Float kech_margin;
@Column(name = "kech_spread")
Float kech_spread;
@Column(name = "issuer_spread")
Float issuer_spread;
@Column(name = "denomination")
Float denomination;
@Column(name = "bid_only")
boolean bid_only;
@Column(name = "publishing")
String publishing;
@Column(name = "price_expression")
String price_expression;
@Column(name = "NAV")
Float NAV;
@Column(name = "average_score")
Float average_score;
@Column(name = "force_publish")
boolean force_publish;
@Column(name = "CUSIP")
String CUSIP;
@Column(name = "published")
boolean published;
@Column(name = "product_type")
String product_type;
@Column(name = "creator")
String creator = "RTV";
@Column(name = "timestamp")
String timestamp;
@Column(name ="RTV")
boolean RTV=true;
@Column(name="currency")
String currency;
@Column(name = "distanceToBandsScore")
Float distanceToBandsScore;
@Column(name = "differenceToLexiFiPriceScore")
Float differenceToLexiFiPriceScore;
@Column(name = "metricC")
Float metricC;
@Column(name="volatility")
Float volatility;
My Postgres configuration file:我的 Postgres 配置文件:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- JDBC Database paramètres de connection -->
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://db:5432/compose-postgres</property>
<property name="connection.username">compose-postgres</property>
<property name="connection.password">compose-postgres</property>
<!-- JDBC connection pool paramètres de connection -->
<property name="connection.pool_size">5</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.PostgreSQL95Dialect</property>
<property name="spring.jpa.hibernate.ddl-auto">update</property>
<property name="spring.jpa.hibernate.naming.implicit-strategy">org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl</property>
<!-- Echo le SQL sur stdout -->
<property name="show_sql">false</property>
<property name="format_sql">false</property>
<property name="use_sql_comments">false</property>
<!-- Contexte de la session actuelle -->
<property name="current_session_context_class">thread</property>
<!-- Configuration dbcp connection pool -->
<property name="hibernate.dbcp.initialSize">5</property>
<property name="hibernate.dbcp.maxTotal">20</property>
<property name="hibernate.dbcp.maxIdle">10</property>
<property name="hibernate.dbcp.minIdle">5</property>
<property name="hibernate.dbcp.maxWaitMillis">100</property>
<mapping class="com.kepler.solutions.valuation.model.MarketPrice" />
</session-factory>
</hibernate-configuration>
I am also adding configuration parameters in my docker-compose.yml我还在我的 docker-compose.yml 中添加了配置参数
version: '2'
services:
spring:
image: 'realtime:latest'
container_name: spring
depends_on:
- db
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/compose-postgres
- SPRING_DATASOURCE_USERNAME=********
- SPRING_DATASOURCE_PASSWORD=*********
- SPRING_JPA_HIBERNATE_DDL_AUTO=update
volumes:
- /home/vagrant/valorisation-2.0:/app
command: ["java", "-jar", "rtv-1.jar"]
mem_limit: 10g
mem_reservation: 10g
db:
image: 'postgres:13.1-alpine'
container_name: db
environment:
- POSTGRES_USER=*****
- POSTGRES_PASSWORD=*****
Any help on that error?对那个错误有帮助吗? Many thanks in advance!
提前谢谢了!
It worked by renaming the column to difference_to_lexifi_price_score !它通过将列重命名为 difference_to_lexifi_price_score 来工作! Thanks !
谢谢 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.