PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

org.postgresql.util.PSQLException:ERRO:relação app_user não existe


O PostgreSQL está seguindo o padrão SQL e, nesse caso, isso significa que os identificadores (nomes de tabelas, nomes de colunas, etc) são forçados a usar letras minúsculas, exceto quando estão entre aspas. Então, quando você cria uma tabela assim:
CREATE TABLE APP_USER ...

você realmente obtém uma tabela app_user . Você aparentemente fez:
CREATE TABLE "APP_USER" ...

e então você obtém uma tabela "APP_USER" .

No Spring, você especifica uma string regular para o nome da tabela, em letras maiúsculas, mas isso é emendado em uma consulta ao servidor PostgreSQL sem aspas. Você pode verificar isso lendo os arquivos de log do PostgreSQL:ele deve mostrar a consulta que o Spring gerou seguida do erro na parte superior da sua mensagem.

Como você tem muito pouco controle sobre como o Spring constrói consultas de entidades, é melhor usar identificadores em minúsculas padrão SQL.