PostgreSQL «Столбец не существует» в БД, определенной с помощью camelCase - PullRequest
0 голосов
/ 28 мая 2020

У меня интересная ситуация с Postgres (похожа на PostgreSQL «Столбец не существует», но на самом деле ). Т.е. имя столбца или таблицы содержит заглавные буквы. В приведенной выше ссылке речь идет об имени таблицы.

В моем случае в базе данных у меня есть столбец "projectId", определенный в camelCase (SQL в БД выглядит как '.. "projectId" целое НЕ NULL, ..'). В Backend я использую Java с Hibernate. Когда я пытаюсь получить все записи таблицы с помощью именованного запроса, например «SELECT e FROM ProjectTa e», я получаю сообщение об ошибке:

org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Caused by: org.postgresql.util.PSQLException: ERROR: column projectta0_.projectid does not exist
  Hinweis: Perhaps you meant to reference the column "projectta0_.projectId".
  Position: 138

SQL log:

select projectta0_.id as id1_1_, projectta0_.budget as budget2_1_, projectta0_.completion as completi3_1_, projectta0_.name as name4_1_, projectta0_.projectId as projectI5_1_, p
rojectta0_.status as status6_1_, projectta0_.users as users7_1_ from project_ta projectta0_

' FROM «Tablename» 'решит проблему для имени таблицы. Как мне настроить именованный запрос, если мне нужны только все записи таблицы. (я не хочу изменять имя столбца или использовать имя для @Column в моем объекте)

...