sql >> Databáze >  >> RDS >> PostgreSQL

org.postgresql.util.PSQLException:ERROR:sloupec user0_.id neexistuje - Hibernace

##Řešení

V PostgreSQL musíte zadat název schématu takto:

@Table(name="table_name", schema = "myapp")
                          ^^^^^^^^^^^^^^^^

##Dlouhý příběh

máte tuto chybu:

org.postgresql.util.PSQLException: ERROR: column user0_.id does not exist

protože když vytvoříte databázi v PostgreSQL , vytvoří výchozí schéma s názvem public , takže když nezadáte název v Entity poté se režim spánku automaticky zkontroluje veřejně schéma.

##Osvědčené postupy

  1. V názvu database nepoužívejte velká písmena , schema , tables nebo columns v PostgreSQL . V opačném případě byste měli tato jména ukončit v uvozovkách, což může způsobit chyby syntaxe, takže místo toho můžete použít:

@Table(name="table_name", schema = "schema_name")
             ^^^^^^^^^^             ^^^^^^^^^^^
  1. klíčové slovo USER je vyhrazené klíčové slovo v PostgreSQL podívat se na

+----------+-----------+----------+-----------+---------+
| Key Word |PostgreSQL |SQL:2003  | SQL:1999  | SQL-92  |
+----------+-----------+----------+-----------+---------+
|  ....        ....       ....       ....       ....    |
+----------+-----------+----------+-----------+---------+
| USER     |  reserved |reserved  | reserved  | reserved|
+----------+-----------+----------+-----------+---------+
  1. rozdíl mezi Dto a Entita jeho dobrou praxí je použití entity na konci názvu vaší entity, například UserEntity


  1. Jak nahradit hodnotu oddělenou čárkami ve sloupci tabulky uživatelskou vstupní hodnotou oracle

  2. Nenašel jsem žádnou chybu. Tento kód funguje dobře. Dokonale aktualizujte moje data, ale zobrazuje se 1 chyba

  3. `WHERE col IN` s pojmenovanými parametry

  4. 10 hlavních důvodů, proč používat Access a Excel společně