PostgreSQL se řídí standardem SQL a v takovém případě to znamená, že identifikátory (názvy tabulek, názvy sloupců atd.) jsou nuceny dávat malá písmena, s výjimkou případů, kdy jsou uvedeny v uvozovkách. Takže když vytvoříte tabulku takto:
CREATE TABLE APP_USER ...
ve skutečnosti získáte tabulku app_user
. Zřejmě ano:
CREATE TABLE "APP_USER" ...
a pak získáte tabulku "APP_USER"
.
Na jaře zadáte běžný řetězec pro název tabulky velkými písmeny, ale ten se spojí do dotazu na server PostgreSQL bez uvozovek. Můžete to zkontrolovat přečtením souborů protokolu PostgreSQL:měl by ukazovat dotaz, který Spring vygeneroval, následovaný chybou v horní části vaší zprávy.
Vzhledem k tomu, že máte velmi malou kontrolu nad tím, jak Spring vytváří dotazy z entit, je lepší používat malé identifikátory podle standardu SQL.