Hibernate не может связать таблицы с БД из-за различия регистра

Уважаемые, здравствуйте! Проблема такая, есть PostgreSQL база. В ней есть таблица Cart. В Spring создаю сущность

package ru.depo.api.cart

import javax.persistence.Entity
import javax.persistence.Id
import javax.persistence.Table

@Entity
@Table(name = "Cart")
class Cart(
    @Id
    val cartId: Long,
    val number: String,
    val cartYear: Int?,
    val contractId: Long,
    val foremanId: Long,
    val placeId: Long
)

И вместо того, чтобы связать эту сущность с таблицей, Hibernate ругается

org.postgresql.util.PSQLException: ERROR: relation "cart" does not exist

Подскажите, какой параметр нужно задать в application.properties, чтобы искалась именно таблица "Cart", а не "cart". То есть, чтобы регистр учитывался. Заранее благодарю!

Полный код:

2020-12-26 19:07:25.054  INFO 12492 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 7 ms
Hibernate: select cart0_.cart_id as cart_id1_0_, cart0_.cart_year as cart_yea2_0_, cart0_.contract_id as contract3_0_, cart0_.foreman_id as foreman_4_0_, cart0_.number as number5_0_, cart0_.place_id as place_id6_0_ from "cart" cart0_
2020-12-26 19:07:25.442  WARN 12492 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 42P01
2020-12-26 19:07:25.443 ERROR 12492 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: relation "cart" does not exist
  �������: 210
2020-12-26 19:07:25.473 ERROR 12492 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet] with root cause

org.postgresql.util.PSQLException: ERROR: relation "cart" does not exist

Ответы (1 шт):

Автор решения: r4b

На самом деле причин вашей проблемы может быть не мало. Стоит понимать, что PostgreSQL следует спецификации самого SQL и переводит все название в нижний регистр. В вашем случае это: "Cart" -> "cart"

Вы можете попробовать исправить данную проблему следующим способом:

@Entity
@Table(name = "Cart", schema="public")
class Cart(
    @Id
    val cartId: Long,
    val number: String,
    val cartYear: Int?,
    val contractId: Long,
    val foremanId: Long,
    val placeId: Long
)
→ Ссылка