PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

org.postgresql.util.PSQLException:FEHLER:Beziehung app_user existiert nicht

PostgreSQL folgt dem SQL-Standard und in diesem Fall bedeutet dies, dass Bezeichner (Tabellennamen, Spaltennamen usw.) in Kleinbuchstaben geschrieben werden, außer wenn sie in Anführungszeichen stehen. Wenn Sie also eine Tabelle wie diese erstellen:

CREATE TABLE APP_USER ...

Sie erhalten tatsächlich eine Tabelle app_user . Sie haben anscheinend Folgendes getan:

CREATE TABLE "APP_USER" ...

und dann erhalten Sie eine Tabelle "APP_USER" .

In Spring geben Sie eine reguläre Zeichenfolge für den Tabellennamen in Großbuchstaben an, die jedoch ohne Anführungszeichen in eine Abfrage an den PostgreSQL-Server eingefügt wird. Sie können dies überprüfen, indem Sie die PostgreSQL-Protokolldateien lesen:Es sollte die Abfrage zeigen, die Spring generiert hat, gefolgt von dem Fehler oben in Ihrer Nachricht.

Da Sie nur sehr wenig Kontrolle darüber haben, wie Spring Abfragen von Entitäten erstellt, verwenden Sie besser Kleinbuchstaben nach dem SQL-Standard.