PostgreSQL volgt de SQL-standaard en in dat geval betekent dat dat identifiers (tabelnamen, kolomnamen, enz.) gedwongen worden om kleine letters te gebruiken, behalve wanneer ze tussen aanhalingstekens staan. Dus als je een tabel als deze aanmaakt:
CREATE TABLE APP_USER ...
je krijgt eigenlijk een tabel app_user
. Blijkbaar deed je dat:
CREATE TABLE "APP_USER" ...
en dan krijg je een tabel "APP_USER"
.
In Spring specificeert u een normale tekenreeks voor de tabelnaam, in hoofdletters, maar die wordt gesplitst in een query naar de PostgreSQL-server zonder aanhalingstekens. U kunt dit controleren door de logbestanden van PostgreSQL te lezen:het zou de query moeten tonen die Spring heeft gegenereerd, gevolgd door de fout bovenaan uw bericht.
Aangezien je heel weinig controle hebt over hoe Spring query's van entiteiten construeert, kun je beter kleine-letter-ID's volgens SQL-standaard gebruiken.